javascript - 当我将常规函数(没有回调且不是 promise )传递给 Promise.join 时会发生什么?

标签 javascript promise bluebird

我正在学习 Promise,并发现工作中的代码基本上在 Promise.join 中有一个函数调用列表。这是做什么的?我假设它们是并行执行的,但是当函数返回时, promise 是否被视为自动解决?

作为引用,这是 bluebird Promise 库。

最佳答案

当您调用 Promise.join 时,您会向它传递几个promise 和一个函数,以便在它们完成所有值时执行。

所有函数调用都会创建 Promise,这些 Promise 会同时解析 - 因为在调用 .join 时函数已经执行 - 操作已经开始。 Promise 是值的代理 - 操作本身已经执行或超出您的控制。

Promise.join(somePromise, someOtherPromise, (first, second) => {
  // both here
}); 

关于javascript - 当我将常规函数(没有回调且不是 promise )传递给 Promise.join 时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39133303/

相关文章:

javascript - 无法将数据存储在 ionic ios 的本地存储中

javascript - 使用 Protractor 获取同一元素的不同值的数组

angular - 在 Promise 中返回 Observable

node.js - 异步 Node.js 循环中的变量作用域

javascript - 如何使用 Promise.all() 和异步循环?

javascript - 如何获取客户端 Javascript 数组并通过 Node.js API POST 到 MongoDB 数据库?

javascript - 在单击以在Angular 9中上传文件之前显示图像?

javascript - then 不是函数错误 - Node Promise 库

javascript - 模块.js :491 throw err;

javascript - 同样的 promise 给出两个不同的结果