Skip to main content

Promise Some

SENIOR

Promise Some

Implement a function that resolves when N out of M promises succeed.

Requirements:

  • Implement promiseSome that takes promises array and count n
  • Resolve when at least n promises fulfill
  • Return array of n fulfilled values (in order they resolved)
  • Reject if it's impossible to get n successes
  • Handle edge cases (n > promises.length, n <= 0)

Example:

const p1 = Promise.reject('error1');
const p2 = Promise.resolve(2);
const p3 = Promise.resolve(3);
const p4 = Promise.reject('error2');

promiseSome([p1, p2, p3, p4], 2).then(results => {
  console.log(results); // [2, 3]
});

Examples:

Input 1:{"values":[1,2,3,4],"n":2}
Output 1:[1,2]
Input 2:{"values":[1,2,3],"n":3}
Output 2:[1,2,3]

Loading editor...

Run your code to see results

Click the Run button above