mirror of
https://github.com/arthur-pbty/portfolio2023.git
synced 2026-06-05 00:06:20 +02:00
p-all 
Run promise-returning & async functions concurrently with optional limited concurrency
Similar to Promise.all(), but accepts functions instead of promises directly so you can limit the concurrency.
If you're doing the same work in each function, use p-map instead.
See p-series for a serial counterpart.
Install
$ npm install p-all
Usage
const pAll = require('p-all');
const got = require('got');
(async () => {
const actions = [
() => got('https://sindresorhus.com'),
() => got('https://ava.li'),
() => checkSomething(),
() => doSomethingElse()
];
console.log(await pAll(actions, {concurrency: 2}));
})();
API
pAll(tasks, [options])
Returns a Promise that is fulfilled when all promises returned from calling the functions in tasks are fulfilled, or rejects if any of the promises reject. The fulfilled value is an Array of the fulfilled values in tasks order.
tasks
Type: Iterable<Function>
Iterable with promise-returning/async functions.
options
Type: Object
concurrency
Type: number
Default: Infinity
Minimum: 1
Number of concurrent pending promises.
Related
- p-map - Map over promises concurrently
- p-series - Run promise-returning & async functions in series
- p-props - Like
Promise.all()but forMapandObject - p-queue - Promise queue with concurrency control
- p-limit - Run multiple promise-returning & async functions with limited concurrency
- More…
License
MIT © Sindre Sorhus