как обработать все асинхронные foreach в javascript и узнать когда все готово
Ответы
Прежде всего необходимо иметь массив промисов, далеее этот массив можно обработать с помощью Promise.all()
:
const asyncTasks = [1, 2, 3].map(async (item) => {
// Асинхронная операция, например, запрос к API
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(item * 2);
}, 1000);
});
});
Promise.all(asyncTasks)
.then((results) => {
console.log(`Все асинхронные задачи завершены: ${results}`);
})
.catch((error) => {
console.error(`Ошибка при выполнении асинхронных задач: ${error}`);
});
В этом примере массив asyncTasks содержит промисы, то есть список асинхронных задач. Метод Promise.all ждет выполнения всех промисов из массива и возвращает массив результатов, когда все задачи завершены. Вы также можете обработать ошибки, возникшие во время выполнения асинхронных задач, с помощью метода catch.
0
0