Як робити асинхронні запити в циклі в JavaScript
Last updated: 10.10.2025
Views: 89
Реалізація асинхронних запитів у циклі JavaScript спочатку може здатися неочевидною. Роблячи асинхронні запити в циклі JavaScript, важливо правильно їх обробляти. Це можна зробити по-різному. У цій публікації ми розглянемо 2 варіанти.
Паралельні запити з Promise.all() (найшвидший)
Якщо запити незалежні та можуть виконуватися паралельно, використовуйте для цього Promise.all(). Це дозволяє виконувати всі запити одночасно, покращуючи продуктивність.
JavaScript
const ids = [12, 23, 45, 57];
async function fetchAllData() {
const responses = await Promise.all(
ids.map((id) => {
const url = 'https://api.example.com/some/' + id;
return fetch(url).then(res => res.json());
})
);
console.log(responses); // Array of resolved responses
}
fetchAllData();
Найкраще для: Швидше виконання, коли запити не залежать один від одного.
Послідовні запити з for...of (забезпечує порядок)
Якщо запити мають виконуватися один за одним, використовуйте for...of разом з await.
JavaScript
const ids = [12, 23, 45, 57];
async function fetchSequentially() {
for (const id of ids) {
const url = 'https://api.example.com/some/' + id;
const response = await fetch(url);
const data = await response.json();
console.log(data); // Logs each response one by one
}
}
fetchSequentially();
Найкраще для: коли запити залежать від попередніх результатів або мають виконуватися в порядку.
Схожі записи:
-
Як клонувати (копіювати) об’єкт і масив у JavaScript
Клонування об'єктів і масивів - не така проста тема, як може здатися на перший погляд. Клонування об’єктів і масивів у JavaScript можна здійснювати за допомогою різних ...
-
Таймер зворотного відліку на JavaScript
Часто на сайтах, де щось продають, можна зустріти таймер зворотного відліку до певної дати. Зазвичай такий скрипт потрібен для лендінгів або інтернет-магазинів. В одній і...
-
Плавне прокручування (скроллінг) до якоря за допомогою JavaScript
Плавне прокручування (скроллінг) — популярна функція веб-дизайну, яка покращує взаємодію з користувачем, дозволяючи плавну навігацію між розділами веб-сторінки. Замість р...
Залишити відповідь