Возврат переменной - не определено - PullRequest
0 голосов
/ 04 января 2012

Я читаю расширение Chrome localStorage в моем скрипте содержимого. Если я записываю переменную в консоль, все работает хорошо. Если я хочу предупредить об этом, он говорит, что переменная не определена.

var data666;

chrome.extension.sendRequest({method: "getLocalStorage", key: "autoplay"}, function(response) {
  console.log(response.data); // works perfectly
  data666 = response.data;
});

alert(data666); // does not work

РЕДАКТИРОВАТЬ: Мне нужно использовать переменную (в данном случае data666) вне асинхронной функции.

1 Ответ

3 голосов
/ 04 января 2012

обратите внимание, что sendRequest является асинхронной функцией, значение данных не будет установлено до тех пор, пока sendRequest не выполнит функцию обратного вызова.

Следовательно, вам необходимо переместить оператор оповещения в функцию обратного вызова.

chrome.extension.sendRequest({method: "getLocalStorage", key: "autoplay"}, function(response) {
  console.log(response.data); // works perfectly
  data666 = response.data;
  alert(data666);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...