import { MuxAsyncIterator } from "https://deno.land/x/proc@0.20.17/legacy/deps.ts";
The MuxAsyncIterator class multiplexes multiple async iterators into a single stream. It currently makes an assumption that the final result (the value returned and not yielded from the iterator) does not matter; if there is any result, it is discarded.
Examples
Example 1
Example 1
import { MuxAsyncIterator } from "https://deno.land/std@0.224.0/async/mod.ts";
async function* gen123(): AsyncIterableIterator<number> {
yield 1;
yield 2;
yield 3;
}
async function* gen456(): AsyncIterableIterator<number> {
yield 4;
yield 5;
yield 6;
}
const mux = new MuxAsyncIterator<number>();
mux.add(gen123());
mux.add(gen456());
for await (const value of mux) {
// ...
}
// ..