it-queue
A queue implementation that can be iterated over
About
Based on p-queue
but with access to the underlying queue, aborting a task
removes it from the queue and you can iterate over the queue results.
Example
import all from 'it-all'
import { Queue } from 'it-queue'
const queue = new Queue({
concurrency: Infinity
})
void queue.add(async () => {
return 'hello'
})
void queue.add(async () => {
return 'world'
})
const results = await all(queue)
// ['hello', 'world']
// how many items are in the queue (includes running items)
console.info(queue.size)
// how many items are running
console.info(queue.running)
// how many items have not started running yet
console.info(queue.queued)
Install
$ npm i it-queue
Browser <script>
tag
Loading this module through a script tag will make its exports available as ItQueue
in the global namespace.
<script src="https://unpkg.com/it-queue/dist/index.min.js"></script>
API Docs
License
Licensed under either of
- Apache 2.0, (LICENSE-APACHE / http://www.apache.org/licenses/LICENSE-2.0)
- MIT (LICENSE-MIT / http://opensource.org/licenses/MIT)
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.