【发布时间】:2020-11-02 15:51:38
【问题描述】:
比如说,我有三个承诺。一个需要 1000 毫秒才能解决,另一个需要 2000 毫秒才能解决,第三个需要 3000 毫秒才能解决。
如何同时启动所有 Promise,并在每个已解决的 Promise 发生时处理它们。
例如。
let fastPromise = new Promise((resolve, reject) => {
setTimeout(() => resolve(""), 1000);
});
let mediumPromise = new Promise((resolve, reject) => {
setTimeout(() => resolve(""), 2000);
});
let slowPromise = new Promise((resolve, reject) => {
setTimeout(() => resolve(""), 4000);
});
在这种情况下,我希望同时启动所有三个 Promise,并在它们解决时按顺序处理它们。 即处理 fastPromise,然后是 mediumPromise,然后是 slowPromise。
【问题讨论】:
-
你已经同时解雇了他们。只需添加
fastPromise.then(...)等来处理它们的完成......!? -
从字面上看,这就是 Promise 的目的和默认行为。
-
请参考Promise.all,它会帮助你达到你的目的。
-
@Pritesh 不会的。
标签: javascript promise