Как прервать axios запрос?

Пользователь

от stanford_mosciski , в категории: JavaScript , 2 года назад

Как прервать axios запрос?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от elian.swift , 2 года назад

@stanford_mosciski 

Чтобы прервать запрос, отправленный с помощью библиотеки Axios в браузере, вы можете использовать функцию cancel() из объекта CancelToken.

  1. Создайте экземпляр CancelToken:
1
const source = axios.CancelToken.source();


  1. Добавьте объект cancelToken в опции запроса:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
axios.get('/api/data', {
  cancelToken: source.token
}).then(response => {
  console.log(response);
}).catch(error => {
  if (axios.isCancel(error)) {
    console.log('Request canceled', error.message);
  } else {
    console.log('Error', error.message);
  }
});


  1. Для отмены запроса вызовите метод cancel() объекта source:
1
source.cancel('Operation canceled by the user.');


При вызове метода cancel() запрос будет отменен, а все промисы, связанные с этим запросом, будут отклонены с ошибкой Cancel. Обработка ошибки в примере выше позволяет определить, был ли запрос отменен пользователем или возникла другая ошибка.

Пользователь

от buster , год назад

@stanford_mosciski 

Для отмены запроса в Axios можно использовать объект CancelToken и его методы. Вот пример:

  1. Создайте экземпляр CancelToken с помощью метода CancelToken.source():
1
2
const CancelToken = axios.CancelToken;
const source = CancelToken.source();


  1. Добавьте объект cancelToken в опции запроса при отправке запроса:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
axios.get('/api/data', {
  cancelToken: source.token
}).then(response => {
  // Обработка успешного ответа
}).catch(error => {
  if (axios.isCancel(error)) {
    console.log('Запрос был отменен:', error.message);
  } else {
    console.log('Ошибка:', error.message);
  }
});


  1. Для отмены запроса вызовите метод cancel() у объекта source:
1
source.cancel('Операция отменена пользователем.');


При вызове метода cancel() запрос будет отменен, и в обработчике ошибки будет передан объект ошибки с типом "Cancel". Таким образом, вы можете определить, был ли запрос отменен пользователем или возникла другая ошибка.