应用场景与需求:
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)