有一部分情况是切换路由了 上一个路由里面的接口数据还没有请求过来 这时候就需要做个阻断 不需要再请求了
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){ }) } } }