Sobes.tech
Middle

Welche Bibliotheken wurden für das Senden von Netzwerkanfragen verwendet? Worin besteht der Unterschied zwischen Axios und Fetch? Was sind Interceptors?

sobes.tech KI

Antwort von 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);
});