Vue取消Axios发出的请求
一、前言
有的时候我们需要取消axios发出的请求,例如在退出页面时,取消掉仍然在进行的请求。
二、AbortController
从 v0.22.0 开始,Axios 支持以 fetch API 方式—— AbortController 取消请求:
const controller = new AbortController(); axios.get('/foo/bar', { signal: controller.signal }).then(function(response) { //... }); // 取消请求 controller.abort()
注意这里在发送请求时,额外携带了一个signal参数:
signal: controller.signal
这是AbortController实例(controller.abort()
)去取消请求的标记。
三、CancelToken
您还可以使用 cancel token 取消一个请求。
- Axios 的 cancel token API 是基于被撤销 cancelable promises proposal。
- 此 API 从 v0.22.0 开始已被弃用,不应在新项目中使用。
可以使用 CancelToken.source 工厂方法创建一个 cancel token ,如下所示:
const CancelToken = axios.CancelToken; const source = CancelToken.source(); axios.get('/user/12345', { cancelToken: source.token }).catch(function (thrown) { if (axios.isCancel(thrown)) { console.log('Request canceled', thrown.message); } else { // 处理错误 } }); axios.post('/user/12345', { name: 'new name' }, { cancelToken: source.token }) // 取消请求(message 参数是可选的) source.cancel('Operation canceled by the user.');
到此这篇关于Vue取消Axios发出的请求的文章就介绍到这了,更多相关Vue Axios内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue开发chrome插件,实现获取界面数据和保存到数据库功能
这篇文章主要介绍了vue开发chrome插件,实现获取界面数据和保存到数据库功能的示例,帮助大家更好的理解和使用vue,感兴趣的朋友可以了解下2020-12-12详解vue2.0的Element UI的表格table列时间戳格式化
本篇文章主要介绍了详解vue2.0的Element UI的表格table列时间戳格式化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。2017-06-06关于vue二进制转图片显示问题 后端返回的是byte[]数组
这篇文章主要介绍了关于vue二进制转图片显示问题 后端返回的是byte[]数组,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-06-06vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
这篇文章主要介绍了vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下2021-02-02
最新评论