Newer version available
You’re viewing the API reference for version 3.0.3, but the latest version is 3.1.0. The latest version include may important updates and fixes.
View Latest Versionfunction race
thefrontside/effectionfunction race<T extends Operation<unknown>>(operations: readonly T[]): Operation<Yielded<T>>
Race the given operations against each other and return the value of whichever operation returns first. This has the same purpose as Promise.race.
If an operation become errored first, then race
will fail with this error.
After the first operation wins the race, all other operations will become
halted and therefore cannot throw any further errors.
Examples
Example 1
import { main, race, fetch } from 'effection';
await main(function*() {
let fastest = yield* race([fetch('http://google.com'), fetch('http://bing.com')]);
// ...
});
Type Parameters
T extends Operation<unknown>
Parameters
operations: readonly T[]
a list of operations to race against each other
Return Type
the value of the fastest operation