如果设置为true,我有一个页面只应加载某个部分。这些设置可在存储中找到。
但是在加载页面时我无法检索这些设置 我尝试过以下方法:
var permission = true;
chrome.storage.sync.get({
history: true
}, function(items) {
permission = items.history;
});
但页面加载时权限始终等于true。如果我调用另一个函数来打印权限值,那么直到之后才会调用它。
我调用此函数以及使用
加载页面部分的函数document.addEventListener('DOMContentLoaded', function () {
我认为问题是该功能未及时调用,但我不知道如何解决此问题。
答案 0 :(得分:6)
你的怀疑是正确的。从存储中检索数据后的回调可能会在页面加载后执行。
要解决此问题,建议您使用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);
});