Вопрос проверяет понимание параллельного выполнения асинхронных операций в цикле и умение избегать последовательного ожидания промисов.
Когда вы используете await внутри цикла for, каждая итерация приостанавливается до завершения промиса. Это приводит к последовательному выполнению, что замедляет работу, если операции независимы.
Соберите все промисы в массив и используйте Promise.all для их одновременного ожидания. Это позволяет запустить все асинхронные операции сразу.
async function processItems(items) {
const promises = items.map(item => fetchData(item));
const results = await Promise.all(promises);
return results;
}async function parallelExample(urls) {
const promises = [];
for (const url of urls) {
promises.push(fetch(url));
}
const responses = await Promise.all(promises);
return responses;
}Параллельное выполнение ускоряет обработку независимых задач, таких как загрузка данных с разных API или обработка файлов. Однако будьте осторожны с количеством одновременных операций, чтобы не перегрузить систему.
Вывод: Используйте Promise.all для параллельного выполнения независимых асинхронных операций в цикле, чтобы повысить производительность и сократить общее время выполнения.
Уровень
Рейтинг:
4
Сложность:
5
Навыки
JavaScript
Node.js
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию