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.
- Host: GitHub
- URL: https://github.com/vaakian/p-batcher
- Owner: vaakian
- License: mit
- Created: 2023-12-18T16:19:50.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-06T16:56:01.000Z (over 2 years ago)
- Last Synced: 2024-01-06T18:49:51.530Z (over 2 years ago)
- Topics: async, async-await, asynchronous, batch, javascript, promise, promise-batcher, promises-in-javascript, task-scheduler, typescript
- Language: TypeScript
- Homepage:
- Size: 49.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# p-batcher
[](https://npm.im/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)