Sobes.tech
Middle

¿Qué bibliotecas se utilizaron para enviar solicitudes de red? ¿En qué se diferencia Axios de Fetch? ¿Qué son los interceptores?

sobes.tech AI

Respuesta de la IA

Для отправки сетевых запросов в фронтенде часто используют библиотеки 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);
});