An open API service indexing awesome lists of open source software.

https://github.com/vaakian/p-batcher

JavaScript promise or async task batcher, scheduler.
https://github.com/vaakian/p-batcher

async async-await asynchronous batch javascript promise promise-batcher promises-in-javascript task-scheduler typescript

Last synced: 9 days ago
JSON representation

JavaScript promise or async task batcher, scheduler.

Awesome Lists containing this project

README

          

# p-batcher

[![npm version](https://badgen.net/npm/v/p-batcher)](https://npm.im/p-batcher) [![npm downloads](https://badgen.net/npm/dm/p-batcher)](https://npm.im/p-batcher)

> A promise batcher, collect promises and run them in batch.

## Install

```bash
npm i p-batcher
```

## Usage

```ts
import { createPBatch } from "p-batcher"

const api = createPBatch((keys: number[]) => {
console.log("batching", keys)
return keys.map((k) => `res-${k}`)
}, {
maxBatchSize: 3,
})

const res = await Promise.all([
api(1),
api(2),
api(3),
api(4),
api(5),
])

console.log(res)

/*
output:
batching [ 1, 2, 3 ]
batching [ 4, 5 ]
[ 'res-1', 'res-2', 'res-3', 'res-4', 'res-5' ]

*/
```

## License

MIT © [vaakian](https://github.com/sponsors/vaakian)