fast-async-pool
v1.0.1
Published
Run multiple promise-returning & async functions with limited concurrency with low overhead
Downloads
2
Maintainers
Readme
fast-async-pool
similar to p-map or tiny-async-pool, fast-async-pool run async/promise returning functions with limited concurrency and low overhead.
Install
$ npm install fast-async-pool
Usage
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);
API
asyncPool(limit, array, fn)
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.
limit
concurrency limit
Type: number
>= 1
array
Type: Array<Promise<unknown> | unknown>
fn(element, index, array)
Type: Function
Expected to return a Promise
or value.