取消:
1:取消同一接口请求
a:定义一个数据存储所有取消的方法 arr=[]
b:在请求拦截加
config.cancelToken=new axios.CancelToken((cancel)=>{
arr.push({
fn:cancel,
url:config.url,
method:config.method
})})
c:在存储前取消同一接口请求
arr=arr.filter(item=>{
if(item.url===config.url && item.method===config.method){
item.fn()
return false
}else{
return true
}
})
2:页面切换时取消所有请求
export function cancelAll(){
arr=arr.filter(item=>{
item.fn()
return false
})
}
在前置守卫 调用触发:
import {cancelAll} from '@/utils/request'
router.beforeEach(()=>{
cancelAll()
})
*/