Ответ
Если в Promise.all хотя бы один промис завершится с ошибкой (rejected), весь Promise.all немедленно завершится с этой ошибкой, игнорируя остальные промисы (даже если они успешны).
Пример:
const p1 = Promise.resolve('Успех');
const p2 = Promise.reject('Ошибка');
const p3 = new Promise((resolve) => setTimeout(resolve, 100, 'Поздний успех'));
Promise.all([p1, p2, p3])
.then(console.log) // Не выполнится
.catch(console.error); // Выведет 'Ошибка'
Альтернатива: Promise.allSettled — дожидается всех промисов, возвращая массив с их статусами.