function getBugVal() {
var bugVal = "";
chrome.storage.sync.get('bugId', function (obj) {
console.log(obj.bugId);
bugVal = obj.bugId;
console.log(bugVal + "<- val inside get sync");
});
console.log(bugVal + "<- val outside get sync");
return bugVal;
}
如果我调用getBugVal(),则返回值将始终指示为空字符串,而不是chrome.storage.sync.get中的实际值。 bugVal甚至不保存字符串值。
console.log(bugVal + "<- val inside get sync");
在内部函数调用中产生正确的值。有什么想法吗?
最佳答案
是的这就是异步代码的工作方式。您将必须使用回调。这样的事情可能会起作用。
function workWithBugVal(val) {
// Do stuff
}
function getBugVal(callback) {
var bugVal = "";
chrome.storage.sync.get('bugId', function (obj) {
console.log(obj.bugId);
bugVal = obj.bugId;
callback(bugVal);
});
}
getBugVal(workWithBugVal);
关于javascript - Chrome.storage.sync.get不在本地变量中存储值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23179029/