我正在构建包装函数,以检索存储在WebExtension的本地存储中的值。我正在努力将成功函数的返回值传递给它的外部函数。提前非常感谢!
get(key) {
browser.storage.local.get(key).then(onGot, onError);
function onGot(storage) {
console.log(storage[key]); // Works so far
}
function onError() {
return false;
}
// How can I return storage[key] here?
}
答案 0 :(得分:0)
要么从包装器返回一个promise,要么让您的promise解析并通过回调使用结果。
promise表示可能尚未完成的一项操作。它提供了成功和失败的挂钩,以便可以处理 async 操作的结果。
为了从函数中返回,调用者和正在执行的函数应保持 sync (不带控制流)。这不同于 async ,这是js承诺的。