use*_*347 2 javascript google-chrome-extension
如果设置为true,我有一个页面只应加载某个部分.这些设置可在存储中找到.
但是,我无法在加载页面时检索这些设置.
我尝试过以下方法:
var permission = true;
chrome.storage.sync.get({
history: true
}, function(items) {
permission = items.history;
});
Run Code Online (Sandbox Code Playgroud)
但是当页面加载时,权限总是等于true.如果我调用另一个函数来打印权限值,则直到之后才会调用.
我调用此函数以及使用加载页面部分的函数
document.addEventListener('DOMContentLoaded', function () {
Run Code Online (Sandbox Code Playgroud)
我认为问题是函数没有及时调用,但我不知道如何解决这个问题.
你的怀疑是正确的.从存储中检索数据后的回调可能在页面加载后执行.
要解决这个问题,我建议使用Promise:
var p = new Promise(function (resolve, reject) {
var permission = true;
chrome.storage.sync.get({
history: true
}, function (items) {
permission = items.history;
resolve(permission);
});
});
p.then(function (permission) {
loadStuff(permission);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1987 次 |
| 最近记录: |