js *_*oob 3 google-chrome-extension
chrome.storage.sync.get('savedItem', function (result) {
//some if else condition for result.savedItem here
myResult = result.savedItem;
});
$('p').val(myResult);
Run Code Online (Sandbox Code Playgroud)
使用上面的代码,我得到了一个 undefined,因为第一次 user 没有在我的选项页面中保存设置。我试图为 myResult 设置一个默认值,if(result.savedItem == undefined) myResult = '';但我仍然没有定义。为什么?
2个问题同时进行。
1)您可以通过提供字典为不在存储中的值设置默认值:
chrome.storage.sync.get({'savedItem' : 'myDefault'}, function (result) {
// result.savedItem is the saved value or 'myDefault'
});
Run Code Online (Sandbox Code Playgroud)
2)最大的问题是不了解异步代码的工作原理。
$('p').val(myResult);在myResult分配之前执行,因为chrome.storage.sync.get立即返回,function(result){...}稍后调用。
| 归档时间: |
|
| 查看次数: |
1748 次 |
| 最近记录: |