應用場景與需求:
1.當前頁面在切換tab的時候會調用不同的接口,如果來回的快速點擊那么就會在后台執行大量的接口,這種時候就需要我們手動的去清除請求
2.vue路由快速切換,回繼續執行上一個頁面的接口,這種時候需要我們手動去清除請求
代碼:
let CancelToken = axios.CancelToken let self = this axios.get('http://120.26.63.68:8051/book/analyse/resources_analyse/get_chart/', { cancelToken: new CancelToken(function executor(c) { self.cancel = c // 這個參數 c 就是CancelToken構造函數里面自帶的取消請求的函數,這里把該函數當參數用 }) }).then(res => { console.log(res) }).catch(err => { console.log(err,'錯誤') }) setTimeout(function () { //只要我們去調用了這個cancel()方法,沒有完成請求的接口便會停止請求 self.cancel() }, 100)