Overview
Implement promiseRace(promises) that returns a promise which resolves or rejects as soon as one of the input promises resolves or rejects.
Examples
const fast = new Promise(r => setTimeout(() => r('fast'), 50));
const slow = new Promise(r => setTimeout(() => r('slow'), 200));
await promiseRace([fast, slow]); // 'fast'Solution
Reveal solution
function promiseRace(promises) {
return new Promise((resolve, reject) => {
for (const p of promises) {
Promise.resolve(p).then(resolve, reject);
}
});
}promise-race.js
Promise.race
mediumcodingJavaScriptPromises
Overview
Implement promiseRace(promises) that returns a promise which resolves or rejects as soon as one of the input promises resolves or rejects.
Examples
const fast = new Promise(r => setTimeout(() => r('fast'), 50));
const slow = new Promise(r => setTimeout(() => r('slow'), 200));
await promiseRace([fast, slow]); // 'fast'Solution
Reveal solution
function promiseRace(promises) {
return new Promise((resolve, reject) => {
for (const p of promises) {
Promise.resolve(p).then(resolve, reject);
}
});
}NameTopicDifficulty
103 of 103 problems