嵌套承诺成功函数(JavaScript)的返回结果

时间:2018-11-28 21:42:37

标签: javascript function promise nested

我正在构建包装函数,以检索存储在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?
}

1 个答案:

答案 0 :(得分:0)

要么从包装器返回一个promise,要么让您的promise解析并通过回调使用结果。

promise表示可能尚未完成的一项操作。它提供了成功和失败的挂钩,以便可以处理 async 操作的结果。

为了从函数中返回,调用者和正在执行的函数应保持 sync (不带控制流)。这不同于 async ,这是js承诺的。