Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/proc/legacy/deps.ts>MuxAsyncIterator

A high-level way to run child processes that is easy, flexible, powerful, and prevents resource leaks.
Go to Latest
class MuxAsyncIterator
implements AsyncIterable<T>
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

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) {
  // ...
}
// ..

Methods

add(iterable: AsyncIterable<T>)
iterate(): AsyncIterableIterator<T>
[Symbol.asyncIterator](): AsyncIterator<T>