随着 x 数量的承诺得到履行,继续解决承诺

问题描述 投票:0回答:0

假设我要在 nodejs 应用程序中执行 1000 个异步操作。我不能一次解雇所有这些,所以我决定以 100 个为一组来运行它们。有些 promise 可能需要更少的时间,有些则需要更多的时间。我希望一旦一个承诺得到履行,我就开始另一个承诺,这样我将始终有 100 个承诺得到解决。

我用了Promise.all like

const prArr = [];

for (let i = 0; i < 1000; i++) {
    prArr.push(anAsyncFunction(i));
    if (prArr.length === 100) {
        await Promise.all(prArr);
    }
}

这样的话,就算99解决了,一个要等很久,我也得等。是否有可能一旦任何承诺得到解决,就可以执行另一个承诺?如果可能,请提供示例。

javascript node.js es6-promise
© www.soinside.com 2019 - 2024. All rights reserved.