Skip to content

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

ParameterTypeDescription
promisesPromise<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

Matterway Assistant SDK Documentation