Effection Logo

function subscribe

thefrontside/effection

function subscribe<T, R>(iter: AsyncIterator<T, R>): Subscription<T, R>

Convert any AsyncIterator into an effection Subscription

This allows you to consume any AsyncIterator as a Subscription.

Examples

Example 1

import { subscribe } from "effection";

let response = await fetch("https://example.com/data.bin");
let iterator = response.body?.[Symbol.asyncIterator]();

if (!iterator) throw new Error("response has no body");

let subscription = subscribe(iterator);
let first = yield* subscription.next();
if (!first.done) {
  console.log(first.value); // Uint8Array chunk
}

Type Parameters

T

R

Parameters

iter: AsyncIterator<T, R>

the iterator to convert

Return Type

Subscription<T, R>

a subscription that will produce each item of iter