JavaScript·100 питань

QUESTION: Що таке fetch API?

Відповідь

Інтерфейс Fetch API є сучасним, потужним і стандартним способом виконання мережевих HTTP-запитів у JavaScript, що прийшов на заміну застарілому та громіздкому XMLHttpRequest. Базове використання зводиться до виклику функції fetch(url, options), куди передається цільова адреса та необов'язковий об'єкт із налаштуваннями, такими як метод, заголовки та тіло запиту. У відповідь метод повертає Promise, який вирішується об'єктом відповіді (Response) одразу ж, як тільки сервер надсилає заголовки, не дожидаючись завантаження всього тіла відповіді.

Для вилучення корисних даних із отриманої відповіді передбачені спеціальні асинхронні методи об'єкта Response. Найчастіше використовується response.json() для парсингу JSON-даних, але також доступні response.text() для роботи з простим текстом або HTML, та response.blob() для скачування бінарних файлів, зображень чи аудіо. Ці методи також повертають проміси, тому для отримання остаточного результату до них необхідно застосовувати оператор await.

Під час роботи з Fetch API розробникам слід пам'ятати про важливу архітектурну особливість: проміс, що повертається функцією fetch, відхиляється (переходить у стан rejected) лише у разі серйозних мережевих збоїв, наприклад, за повної відсутності підключення до інтернету або помилок DNS. Якщо ж сервер відповідає кодами помилок 404 (Не знайдено) або 500 (Внутрішня помилка сервера), проміс усе одно вважатиметься успішним. Саме тому після виклику fetch завжди необхідно перевіряти прапорець response.ok або самостійно аналізувати властивість response.status.

Чи корисна ця відповідь?

Інші питання цієї теми

Пов’язані питання з інших тем