vue 页面中,切换路由菜单,怎么终止,上个页面的请求,cancelToken

应用场景:当切换路由页面,上次的ajax请求,应该终止

1.//请求拦截器

window._axiosPromiseArr = [] // axios中设置放置要取消的对象

axios.interceptors.request.use(config => {

config.cancelToken = new axios.CancelToken(cancel => {

window._axiosPromiseArr.push({ cancel })

})

return config

}, error => {

return Promise.reject(error)

})

2.// 进入路由钩子拦截时候,取消保存的_axiosPromiseArr

router.beforeEach((to, from, next) => {

window._axiosPromiseArr.forEach((ele,index) => {

ele.cancel() // 路由跳转之前,清空(终止)上一个页面正在请求的内容

// 清空请求的参数 清空请求的参数

delete window._axiosPromiseArr[index]

})

})

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。


原文链接:https://blog.csdn.net/u010963051/article/details/103183415

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容