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 interview

Practice solo

3 test cases. No second person needed.

Get new interview exercises

Practice problems and review drills, sent when we publish new ones. No spam.

Unsubscribe anytime. We never share your address.