Back to questions
Junior — Middle
90
Можете объяснить, как работает метод Promise.all и для чего он предназначен?
Answer from AI
sobes.tech AI
Метод Promise.all принимает массив (или итерируемый объект) промисов и возвращает новый промис, который:
- Выполняется успешно, когда все переданные промисы успешно завершены. В этом случае результатом будет массив значений всех промисов в том же порядке.
- Отклоняется, если хотя бы один из промисов отклоняется, и возвращает причину первого отклонённого промиса.
Это удобно, когда нужно выполнить несколько асинхронных операций параллельно и дождаться их всех.
Пример:
const p1 = Promise.resolve(1);
const p2 = new Promise(resolve => setTimeout(() => resolve(2), 100));
const p3 = Promise.resolve(3);
Promise.all([p1, p2, p3])
.then(results => {
console.log(results); // [1, 2, 3]
})
.catch(error => {
console.error('Один из промисов отклонился:', error);
});