Facebook Pixel

Implement Promise Race

JavaScript
medium
15 mins

Implement a function promiseRace that mimics the behavior of Promise.race(). It takes an array of promises (or values) and returns a promise that settles (either resolves or rejects) as soon as the first input promise settles.

Input:

  • An array of promises or values

Output:

  • A single promise that resolves/rejects with the result/error of the first settled promise

Example Inputs & Outputs

// Example 1: Input: [Promise.resolve(1), Promise.resolve(2)] Output: Resolves with 1 // Example 2: Input: [Promise.reject('error'), Promise.resolve(2)] Output: Rejects with 'error' // Example 3: Input: [42, Promise.resolve(10)] Output: Resolves with 42 (since 42 is a non-promise value) // Example 4: Input: [] Output: Never settles (same as native Promise.race)

Constraints & Edge Cases

  • Input can contain both promises and non-promise values.
  • The result should reflect the first settled item.
  • If input is empty, the returned promise should never settle.
  • Input may include a mix of resolved, rejected, and pending promises.

Companies:

netflix
reddit
tcs

Solve Similar questions 🔥

Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.