JavaScript

Як робити асинхронні запити в циклі в JavaScript

Last updated: 10.10.2025
Views: 103

Реалізація асинхронних запитів у циклі 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();

Найкраще для: коли запити залежать від попередніх результатів або мають виконуватися в порядку.

author
Автор: Ігор Рибалко
Працюю фронтенд розробником з 2014 року. Основний стек технологій - Vue.js і WordPress

Схожі записи:

  • Робота з файлами cookie в JavaScript
    Cookie (cookie, web cookie або cookie браузера) - це рядкова інформація, яку можна зберігати в браузері і передавати на сервер. Максимальний розмір для однієї куки - 409...
  • Ітерація елементів масиву без циклу
    Приклади дуже абстрактні, оскільки цикли існують. Наша умова буде такою. Потрібно вибрати всі елементи масиву за заданим атрибутом. Або, якщо сказати точніше, потрібно ві...
  • Як отримати максимальне значення в масиві JavaScript
    Коротка замітка про пошук максимального значення в масиві JavaScript із числовими значеннями. Об’єкт Array в JS не має власного методу max. Щоб знайти максимальне знач...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *