Middle
Ce biblioteci au fost folosite pentru trimiterea cererilor de rețea? Care este diferența dintre Axios și Fetch? Ce sunt interceptors?
sobes.tech AI
Răspuns de la 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);
});