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' ]
Since
v0.0.1