Skip to main content

Variable: generateAsync()

const generateAsync: {<Value>(fn): (seed) => AsyncIterable<Value>; <Value>(fn, seed): AsyncIterable<Value>; }

Defined in: generators.d.ts:259

Returns an infinite async iterable that yields seed for its first value and then yields the awaited result of applying fn to its previously yielded value for every subsequent value.

Call Signature​

<Value>(fn): (seed) => AsyncIterable<Value>

Type Parameters​

Value​

Value

Parameters​

fn​

(previousValue) => MaybePromiseLike<Value>

Returns​

(seed): AsyncIterable<Value>

Parameters​

seed​

Value

Returns​

AsyncIterable<Value>

Call Signature​

<Value>(fn, seed): AsyncIterable<Value>

Type Parameters​

Value​

Value

Parameters​

fn​

(previousValue) => MaybePromiseLike<Value>

seed​

Value

Returns​

AsyncIterable<Value>

Example​

import { generateAsync, pipe, reduceAsync, takeAsync, toArray } from 'lfi'

const API_URL = `https://api.dictionaryapi.dev/api/v2/entries/en`

console.log(
await pipe(
`sleep`,
generateAsync(async previousWord => {
const response = await fetch(`${API_URL}/${previousWord}`)
const [{ meanings }] = await response.json()
return meanings[0].partOfSpeech
}),
takeAsync(4),
reduceAsync(toArray()),
),
)
//=> [ 'sleep', 'verb', 'noun', 'noun' ]
Playground

Since​

v0.0.1