react中axios取消请求

常规的axios取消请求方式:

v0.22.0及之后版本
const controller = new AbortController();

axios.get('/user/12345', {
   signal: controller.signal
}).then(function(response) {
   //处理错误
});
// 取消请求
controller.abort()
v0.22.0之前版本
const CancelToken = axios.CancelToken;
const source = CancelToken.source();

axios.get('/user/12345', {
  cancelToken: source.token
}).catch(function (thrown) {
  // 处理错误
});

// 取消请求(message 参数是可选的)
source.cancel('Operation canceled by the user.');
针对post请求并且设置了onUploadProgress的情况,上述代码不起作用,需要用useState
const [controller, setController] = useState(new AbortController());

axios.get('/user/12345', {
   signal: controller.signal
}).then(function(response) {
   //处理错误
});
// 取消请求
controller.abort()
//解决下次不能发请求问题
setController(new AbortController())
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容