similar to p-map or tiny-async-pool, fast-async-pool run async/promise returning functions with limited concurrency and low overhead.
$ npm install fast-async-pool
import asyncPool from 'fast-async-pool';
import fetch from 'cross-fetch';
const sites = [
'https://jestjs.io',
'https://github.com',
'https://www.npmjs.com',
'https://www.solidjs.com'
];
const pages = await asyncPool(2, sites, async site => {
const response = await fetch(site);
return response.text();
});
console.log(pages);
Returns a Promise
that is fulfilled when all promises generated by mapping array
to fn
are fulfilled, or rejects if any of the promises reject. The fulfilled value is an Array
of the fulfilled values returned from fn
in array
order.
concurrency limit
Type: number
>= 1
Type: Array<Promise<unknown> | unknown>
Type: Function
Expected to return a Promise
or value.