fast-async-pool
Version:
Run multiple promise-returning & async functions with limited concurrency with low overhead
51 lines (33 loc) • 1.14 kB
Markdown
//www.npmjs.com/package/p-map) or [tiny-async-pool](https://www.npmjs.com/package/tiny-async-pool), fast-async-pool run async/promise returning functions with limited concurrency and low overhead.
```
$ npm install fast-async-pool
```
```js
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.
similar to [p-map](https: