当我将常规函数(没有回调且不是承诺)传递给 Promise.join 时会发生什么?
What happens when I pass regular functions(without callback & not a promise) to Promise.join?
我正在学习 Promises,发现工作中的代码基本上在 Promise.join 中有一个函数调用列表。这是做什么的?我假设它们是并行执行的,但是当函数 returns?
供参考,这是 bluebird promise 库。
当你调用 Promise.join
时,你传递给它几个 promises 和一个在它们完成所有值时执行的函数。
所有函数调用都会创建承诺,这些承诺会同时解决 - 因为在调用 .join
时函数已经执行 - 操作已经开始。 Promises 是值的代理 - 操作本身已经执行或不受您的控制。
Promise.join(somePromise, someOtherPromise, (first, second) => {
// both here
});
我正在学习 Promises,发现工作中的代码基本上在 Promise.join 中有一个函数调用列表。这是做什么的?我假设它们是并行执行的,但是当函数 returns?
供参考,这是 bluebird promise 库。
当你调用 Promise.join
时,你传递给它几个 promises 和一个在它们完成所有值时执行的函数。
所有函数调用都会创建承诺,这些承诺会同时解决 - 因为在调用 .join
时函数已经执行 - 操作已经开始。 Promises 是值的代理 - 操作本身已经执行或不受您的控制。
Promise.join(somePromise, someOtherPromise, (first, second) => {
// both here
});