simultan

1.0.0 • Public • Published

Simultan CI npm

Simultaneously run an async function on any iterable with limited concurrency.

Simultan takes an iterable, executes an async method on each value, and returns a single Promise. The promise contains an array of all the resolved return values. The number of concurrent invocations can be limited.

Install

$ npm install --save simultan

Usage

import { simultan } from 'simultan';

const urls = [
    // ... array of urls to fetch
]

await simultan(urls, async url => {
    const response = fetch(url);
    return response.json();
});
//=> [{...}, {...}, {...}, ]

API

simultan<T, R = unknown>(iterable, fn, limit = 200)

Returns: Promise<unknown[]>

Simultan executes an async callback on each value of any Iterable. A single Promise is returned with an array of the resolved return values.

This returned promise will resolve when all invocations of the callback method have been resolved.

iterable

Type: Iterable<T> | AsyncIterable<T>
Required: true

Iterable to iterate and execute async callback function on.

fn

Type: IteratorFn<T, R> = (item: T) => Promise<R>
Required: true

limit

Type: number
Default: 200
Required: false

Maximum number of concurrent invocations.

License

MIT © Terkel Gjervig

Readme

Keywords

none

Package Sidebar

Install

npm i simultan

Weekly Downloads

5

Version

1.0.0

License

MIT

Unpacked Size

5.61 kB

Total Files

7

Last publish

Collaborators

  • terkelg