Sobes.tech
Назад к вопросам
Middle
4

Какие библиотеки использовали для отправки сетевых запросов? В чём отличие Axios от Fetch? Что такое интерцепторы?

Компании, где спрашивали
AstonAston

Ответ от нейросети

sobes.tech AI

Для отправки сетевых запросов в фронтенде часто используют библиотеки Axios и встроенный Fetch API.

Отличия Axios от Fetch:

  • Axios автоматически преобразует JSON-ответы, Fetch требует вызова .json().
  • Axios поддерживает отмену запросов через CancelToken, в Fetch это сложнее реализовать.
  • Axios автоматически обрабатывает ошибки HTTP статусов (например, 404), Fetch считает ошибкой только сетевые сбои.
  • Axios поддерживает интерцепторы, удобные для обработки запросов и ответов.

Интерцепторы — это функции, которые перехватывают запросы или ответы до того, как они будут обработаны в основном коде. Это удобно для:

  • Добавления заголовков авторизации.
  • Логирования запросов и ответов.
  • Глобальной обработки ошибок.

Пример использования интерцептора в Axios:

import axios from 'axios';

axios.interceptors.request.use(config => {
  config.headers['Authorization'] = 'Bearer token';
  return config;
});

axios.interceptors.response.use(response => {
  // обработка успешного ответа
  return response;
}, error => {
  // глобальная обработка ошибок
  return Promise.reject(error);
});