vue路由切换,终止正在请求的接口


应用场景与需求:

 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)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM