阻断请求的方法

有一部分情况是切换路由了 上一个路由里面的接口数据还没有请求过来  这时候就需要做个阻断 不需要再请求了

export default {
  data(){
    return {
      // setp1 创建data公共的source变量 
      source:''                
    }
  },
  created:function(){
    // 获取搜索数据
    this.getData()
  },
  watch:{
    '$route':'watchGetSearchData',
  },
  methods:{
    getData(){
      // setp2 请求时创建source实例 
      let CancelToken = this.$http.CancelToken
      this.source = CancelToken.source();
    },
    watchGetSearchData(){
      // setp3 切换路由时取消source实例 
      this.source.cancel('0000')
      this.getData()
      this.$http
        .post('/api/show/map',data,{cancelToken:this.source.token})
        .then(function(response){
            
        })
    }
  }
}

  

原文地址:https://www.cnblogs.com/yn-cn/p/14188603.html