didierdemoniere / fast-async-pool

Run multiple promise-returning & async functions with limited concurrency and low overhead

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Run multiple promise-returning & async functions with limited concurrency and low overhead

License:MIT License


Languages

Language:TypeScript 92.4%Language:JavaScript 7.6%