應(yīng)用場(chǎng)景:當(dāng)切換路由頁面抱婉,上次的ajax請(qǐng)求,應(yīng)該終止
1.//請(qǐng)求攔截器
window._axiosPromiseArr = [] // axios中設(shè)置放置要取消的對(duì)象
axios.interceptors.request.use(config => {
config.cancelToken = new axios.CancelToken(cancel => {
window._axiosPromiseArr.push({ cancel })
})
return config
}, error => {
return Promise.reject(error)
})
2.// 進(jìn)入路由鉤子攔截時(shí)候桌粉,取消保存的_axiosPromiseArr
router.beforeEach((to, from, next) => {
window._axiosPromiseArr.forEach((ele,index) => {
ele.cancel() // 路由跳轉(zhuǎn)之前蒸绩,清空(終止)上一個(gè)頁面正在請(qǐng)求的內(nèi)容
// 清空請(qǐng)求的參數(shù) 清空請(qǐng)求的參數(shù)
delete window._axiosPromiseArr[index]
})
})
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議铃肯,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明患亿。
原文鏈接:https://blog.csdn.net/u010963051/article/details/103183415