返回变量 - 未定义

时间:2012-01-04 13:38:32

标签: javascript google-chrome google-chrome-extension

我正在我的内容脚本中阅读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 个答案:

答案 0 :(得分:3)

请注意sendRequest是一个异步函数,在sendRequest执行回调函数之前,不会设置数据值。

因此,您需要将alert语句移动到回调函数中。

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