axios取消网络请求

发布于 2024-08-03  455 次阅读


在使用axios发送请求时,我们可以通过使用axios的CancelToken来实现取消请求的功能。以下是一个简单的post请求示例代码:

// 创建一个取消令牌
const source = axios.CancelToken.source();
 
// 发送POST请求
axios.post(url, {
  data: 'example data'
}, {
  cancelToken: source.token
}).then(response => {
  // 请求成功的处理逻辑
}).catch(error => {
  if (axios.isCancel(error)) {
    console.log('请求已取消', error.message);
  } else {
    console.log('请求出错', error.message);
  }
});
 
// 在需要取消请求的地方调用cancel方法
source.cancel('请求被取消');

在这个示例中,我们首先创建了一个CancelToken实例和一个source对象作为请求的cancelToken。然后我们发送一个POST请求到url,并传入cancelToken: source.token来指定取消令牌。最后,我们调用source.cancel('请求被取消了')来取消请求。

取消请求时,axios会抛出一个包含message属性的Cancel对象,我们可以通过axios.isCancel(error)来判断是否是取消请求导致的错误

他日明珠色,当随百媚开。
最后更新于 2024-08-03