chrome.storage.sync调用未触发

时间:2019-04-11 19:24:17

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

我一直在尝试获取我的第一个chrome应用程序以利用chrome存储,但是直到代码执行后,代码才被解析。我在下面写了一个小例子说明我的意思。

有一个for循环执行3次。我每次都调用chrome.storage.sync.set,但是代码永远不会进入函数的主体,并且我不会收到任何错误。对于chrome.storage.sync.get调用也是如此,调试器从不进入函数主体。

执行了3次循环并退出循环后,下一行跳回到chrome.storage.sync行。我每次都放置一个console.log,以显示正在执行的语句。

下面是示例代码以及控制台输出。我想找出为什么我不能在正确的时间添加到chrome存储中。

请注意,我确实在manifest.json中启用了存储权限

代码:

//function to test storage
function testStorage() {
    for (var i = 0; i < 3; i++) {
        console.log(i + '/' + 2);
        chrome.storage.sync.set({'key':'value'}, function() {
            debugger;
            console.log('set: ' + i);
        });
        chrome.storage.sync.get('key',function(result){
            console.log(i + ' : ' + result.key);
        });
    }

    console.log('loop complete');
}

输出:

0/2
1/2
2/2
loop complete
set: 3
3 : value
set: 3
3 : value
set: 3
3 : value

0 个答案:

没有答案