Appearance
Function: racePromises()
ts
function racePromises<T>(promises: Promise<T>[]): Promise<{
result: Awaited<T>;
winner: number;
}>;Defined in: src/utils/racePromises.ts:19
Race multiple promises and return the first resolved result.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
promises | Promise<T>[] | An array of promises to race. |
Returns
Promise<{ result: Awaited<T>; winner: number; }>
An object with result (the winning value) and winner (its index).
Example
ts
const promises = [
new Promise((resolve) => setTimeout(() => resolve('espresso'), 100)),
new Promise((resolve) => setTimeout(() => resolve('latte'), 200)),
];
const { result, winner } = await racePromises(promises);
console.log(result); // 'espresso'
console.log(winner); // 0