Почему глобальная переменная видна только из функции где задано значение?

string outer;
        private void jsexec()
        {
            string script = "$('.page_title').text()";
            var res = chromeBrowser.EvaluateScriptAsync(script).ContinueWith(x => {
                var response = x.Result;
                if (response.Success && response.Result != null)
                {
                    var outjs = response.Result;
                    outer = outjs.ToString();
                    MessageBox.Show(outer);
                }
            });
        }

То есть внутри msgbox возвращает значение, но из вне уже значение пустое, я так и не понял почему. Плюс хотел сделать чтобы фунция делала return, но вся та же проблема. Почему так происходит?
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
lam0x86
@lam0x86
Лучше переписать этот метод, чтобы он выполнялся асинхронно.
private async Task<string> jsexec()
{
  string script = "$('.page_title').text()";
  var response = await chromeBrowser.EvaluateScriptAsync(script);
  if (response.Success && response.Result != null)
  {
    var result = response.Result.ToString();
    MessageBox.Show(result);
    return result;
  }
  else
  {
    return null;
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы