/promise-limit-all

Promise all, but with max limit

Primary LanguageJavaScript

Promise Limit All

npm npm

This package let you control the number of async function at the same time

Codesandbox

Demo

const promiseLimitAll = require('promise-limit-all');

const promiseFactory = (res, timeout) => {
    return () =>
        new Promise((resolve) => {
            setTimeout(() => {
                resolve(res);
            }, timeout);
        });
};

promiseLimitAll(
    [
        promiseFactory(1, 1000),
        promiseFactory(2, 2000),
        promiseFactory(3, 2000),
        promiseFactory(4, 1000),
        promiseFactory(5, 1000),
        promiseFactory(6, 500),
        promiseFactory(7, 500)
    ],
    3
).then((res) => {
    const str = res.join(",");
    console.log(str);
});

Output:

1,2,3,4,5,6,7