function call
thefrontside/effectionPause the current operation and evaluate an async function, plain function, or operation function. The calling operation will be resumed (or errored) once call is completed.
call()
is a uniform integration point for calling async functions,
generator functions, and plain functions.
To call an async function:
Examples
Example 1
export function googleSlowly(query: string) {
return call(async function() {
await new Promise(resolve => setTimeout(resolve, 2000));
return await fetch("https://google.com");
});
}
or a plain function:
Example 2
yield* call(() => "a string");
The function will be invoked anew every time that the call()
operation is evaluated.
Type Parameters
T
TArgs extends unknown[] = []
Parameters
fn: (...args: TArgs) => Promise<T>
- the operation, promise, async function, generator funnction, or plain function to call as part of this operation
Return Type
Operation<T>
an Operation that evaluates to the result of executing the function to completion
Type Parameters
T
TArgs extends unknown[] = []
Parameters
fn: (...args: TArgs) => T
Return Type
Operation<T>