Реализовать Promise.race
СреднееРеализуйте функцию promiseRace(promises), которая работает как нативный Promise.race().
Требования:
- Принимает массив промисов
- Резолвится/реджектится с результатом первого завершившегося промиса
- Остальные промисы игнорируются (но продолжают выполняться)
- Пустой массив должен возвращать промис, который никогда не резолвится
- Должна обрабатывать как успешные, так и отклонённые промисы
- НЕЛЬЗЯ использовать встроенный Promise.race()
Пример:
const result = await promiseRace([
new Promise(res => setTimeout(() => res('slow'), 100)),
new Promise(res => setTimeout(() => res('fast'), 50))
]);
// result = 'fast' (первый завершился)JavaScript•UTF-8
Run your code to see results.
Click the Run button above
Mobile view - please use desktop for better experience