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