JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 52071
  • Score
    100M100P100Q157837F
  • License Apache-2.0 OR MIT

Takes an async iterator that emits promise-returning functions, invokes them in parallel and emits the results in the same order as the input

Package Exports

  • it-parallel-batch

Readme

it-parallel-batch

codecov CI

Takes an async iterator that emits promise-returning functions, invokes them in parallel and emits the results in the same order as the input

Table of contents

Install

$ npm i it-parallel-batch

Browser <script> tag

Loading this module through a script tag will make it's exports available as ItParallelBatch in the global namespace.

<script src="https://unpkg.com/it-parallel-batch/dist/index.min.js"></script>

The final batch may be smaller than the batch size.

Usage

import parallelBatch from 'it-parallel-batch'
import all from 'it-all'
import delay from 'delay'

// This can also be an iterator, async iterator, generator, etc
const input = [
  async () => {
    await delay(500)

    return 1
  },
  async () => {
    await delay(200)

    return 2
  },
  async () => {
    await delay(100)

    return 3
  }
]

const batchSize = 2

const result = await all(parallelBatch(input, batchSize))

console.info(result) // [1, 2, 3]

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.