Как можно отслеживать запросы?

Как можно отслеживать и обрабатывать только успешные ответы с кодом 200, если при отправке обычного GET-запроса с использованием axios возвращается код 307 (Redirect)?
  • 19 ноября 2023 г. 16:09
Ответы на вопрос 3
Для отслеживания запросов и обработки успешных ответов с кодом 200 вам может помочь библиотека Axios Interceptors.

Axios Interceptors позволяет перехватывать и обрабатывать каждый запрос и ответ, отправленный через axios. 

Чтобы отслеживать и обрабатывать только успешные ответы с кодом 200, вы можете создать перехватчик (interceptor) для ответов, который будет проверять код ответа и выполнять определенную логику только для успешных ответов.

Пример кода:

```javascript
import axios from 'axios';

const instance = axios.create();

// Перехватываем и обрабатываем только успешные ответы с кодом 200
instance.interceptors.response.use(
  (response) => {
    if (response.status === 200) {
      // Здесь выполняется ваша логика для успешного ответа
      console.log('Успешный ответ', response.data);
    }
    return response;
  },
  (error) => {
    // Обрабатываем ошибки
    return Promise.reject(error);
  }
);

// Отправляем GET-запрос с помощью axios
instance.get('http://example.com/api').then((response) => {
  // Здесь код будет выполнен только в случае успешного ответа с кодом 200
  console.log('Успешный ответ', response.data);
}).catch((error) => {
  // Обрабатываем ошибки, если таковые возникнут
  console.error('Ошибка', error);
});
```

В приведенном примере при получении успешного ответа с кодом 200 будет выполнена соответствующая логика обработчика. Если получен ответ с кодом 307 (Redirect), обработчик для успешных ответов не будет вызываться.

Использование axios.create() позволяет создать новый экземпляр axios с отдельными настройками, что облегчает применение перехватчика только для определенных запросов или доменов.
Если статус ответа равен 200, то ...
В противном случае, ...
Похожие вопросы