Как вызвать promise.all для неопределенного количества функции в node.js?

Пользователь

от maymie , в категории: JavaScript , 9 месяцев назад

Как вызвать promise.all для неопределенного количества функции в node.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от abel , 9 месяцев назад

@maymie 

Вы можете вызвать Promise.all() для неопределенного количества функций, используя spread оператор ... для передачи массива функций в Promise.all(). Например, если у вас есть массив функций funcs, вы можете вызвать Promise.all() следующим образом:

1
2
3
4
5
Promise.all([...funcs]).then((results) => {
  // обработка результатов
}).catch((err) => {
  // обработка ошибок
});


В этом примере ...funcs разворачивает массив функций в список аргументов, передаваемых в Promise.all(). Promise.all() вернет Promise, который разрешится, когда все переданные промисы разрешатся. Результатом разрешенного Promise будет массив с результатами разрешенных промисов в том же порядке, в котором они были переданы.


Обратите внимание, что если один из переданных промисов отклоняется, разрешенный Promise Promise.all() тоже будет отклонен, и выполнение остановится.