0.2.1 • Published 6 years ago
merge-async-iterators v0.2.1
merge-async-iterators
A simple async iterators merger
Requires ES2018 Async Iteration
Install
npm i merge-async-iterators
Usage
API
merge([...iterators], opts)
iterators
Array of async iterablesopts
yieldIterator[=false]
Yields{iterator, value}
(instead ofvalue
)Useful if you wanna know which iterator yielded the value
Returns A single merged async iterable
Example
const merge = require('merge-async-iterators');
const array = [1,2];
const iterable = (function*(){
yield 3
yield 4
})()
const asyncIterable = (async function*(){
yield 5
yield 6
})()
for await (const value of merge([array, iterable, asyncIterable])) {
console.log(value)
}
1
2 // order isn't guaranteed
undefined // finished iterators' returns will yield as well
3
4
undefined
5 // async wil almost always come after normal ones
6