Back to Async / PromisesMedium
Exercise 7: Promise.race Implementation
Problem Statement
Create a function `race(promises)` that returns result of first promise to resolve/reject.
Example: race([slowPromise, fastPromise]) => fastPromise result
Sample Output:
await race([slowPromise, fastPromise]) => (fastPromise result) // Returns result of first resolved/rejected promise
Solution
const race = (promises) => {
return new Promise((resolve, reject) => {
promises.forEach(p => Promise.resolve(p).then(resolve, reject));
});
};Explanation
Overall Goal:
- Pehle complete hone wale promise ka result return karna.
Real world:
- Timeout: fastest response.
- Competition: first to complete.