1.0.1 • Published 1 year ago

fast-async-pool v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

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.