Async & Promises
Implement Promise.race
easyJS SpecificJS / TS3 tests
Problem Statement
Implement `Promise.race`, which accepts an iterable of promises (or values) and returns a promise that fulfills or rejects as soon as one of the input promises fulfills or rejects, with the value or reason from that promise.
Examples
Example 1:
const p1 = new Promise((resolve) => setTimeout(() => resolve('fast'), 50));
const p2 = new Promise((resolve) => setTimeout(() => resolve('slow'), 200));
myPromiseRace([p1, p2]).then(console.log); // 'fast'
Example 2:
const p1 = new Promise((_, reject) => setTimeout(() => reject('fail'), 20));
const p2 = new Promise((resolve) => setTimeout(() => resolve('pass'), 100));
myPromiseRace([p1, p2]).catch(console.error); // 'fail'JavaScript & TypeScript starter code included
Run this as a live interviewPractice solo
3 test cases. No second person needed.