Ответ
Axios Interceptor — это механизм для перехвата HTTP-запросов и ответов перед их обработкой. Позволяет модифицировать запросы/ответы, добавлять заголовки, логировать ошибки или обрабатывать их глобально.
Пример перехватчика запроса:
axios.interceptors.request.use(config => {
config.headers.Authorization = `Bearer ${localStorage.getItem('token')}`;
return config;
}, error => Promise.reject(error));Пример перехватчика ответа:
axios.interceptors.response.use(response => response, error => {
if (error.response.status === 401) {
// Перенаправление на логин
}
return Promise.reject(error);
});Особенности:
- Можно добавлять несколько интерцепторов
- Порядок выполнения: запросы — FIFO, ответы — LIFO
- Можно удалить интерцептор через
axios.interceptors.request.eject(interceptorId)