javascript - 在所有 promise 解决后返回

标签 javascript node.js return promise es6-promise

<分区>

下面有一个代码示例,我想在所有 promise 解决后从“main”函数返回 baz 变量。

exports.foo = function(bar) {

    var baz;

    // some kind of promises are here forming array of promises p
    // some of promises may change the baz variable

    Promise.all(p).then(() => {
      // returning expression for main function is here
      // return baz here // does not work
    });

    // return baz //cannot be done because it would be earlier than all the async promises are resolved
}

最佳答案

promise 在 main 返回后 解决,因此返回 baz 的 promise :

exports.foo = function(bar) {
  var baz;
  return Promise.all(p).then(() => baz);
}

exports.foo(3).then(baz => console.log(baz)).catch(e => console.error(e));

关于javascript - 在所有 promise 解决后返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36088230/

相关文章:

c++ - 是否存在编译器无法诊断丢失返回的情况?

javascript - 重新加载 KeyDown 和 Click 事件后仅在第二次单击后有效

javascript - 使用 jQuery .each() 时的全局变量与局部变量

node.js - 在 Express 中通过客户端路由为多个 React 应用程序提供服务

Python - Return 语句清空我的列表

C++ 从具有取消引用类型类型的函数返回引用?

javascript - 如何将文件附加到 FormData()?

javascript - 如何使用位掩码在 JavaScript 中存储 bool 值

node.js - 从 npm 迁移到 yarn 时出错 - 引擎 "node"与此模块不兼容

javascript - CSV 阅读完毕后,我该如何解决 promise ?