我正在我的内容脚本中阅读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)。
答案 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);
});