Помимо Promise.all, в Promise API есть несколько полезных методов:
Чем отличаются статические методы Promise: Promise.all, Promise.allSettled, Promise.race, Promise.any?
Помимо Promise.all, в Promise API есть несколько полезных методов:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Помимо Promise.all, в Promise API есть несколько полезных методов:
Promise.race(iterable)— возвращает промис, который выполнится или отклонится, как только первый из переданных промисов выполнится или отклонится.Promise.allSettled(iterable)— возвращает промис, который выполнится, когда все переданные промисы завершатся (независимо от результата), и вернёт массив объектов с состоянием каждого промиса.Promise.any(iterable)— возвращает промис, который выполнится с результатом первого успешно выполненного промиса из переданных; если все промисы отклонятся, он отклонится с AggregateError.
Пример использования Promise.race:
const p1 = new Promise(resolve => setTimeout(() => resolve('Первый'), 500));
const p2 = new Promise(resolve => setTimeout(() => resolve('Второй'), 100));
Promise.race([p1, p2]).then(result => console.log(result)); // Выведет 'Второй'