vue全局配置配置请求拦截加loading (解决多个接口 一次loading)

一开始在main.js中定义一个变量设置为当前页面发送接口的数量

var needLoadingRequestCount = 0 //当前正在请求的数量

 

接下来在请求拦截中写(我是写在vue-resource中 axios同理)

Vue.http.interceptors.push((request, next) => {

    needLoadingRequestCount++  //每次发送一个请求就进行++

    Indicator.open('加载中...');   //这里是mint-ui的loading

  next((response) => {

        needLoadingRequestCount--  //调用完一个接口就进行-1

        if(needLoadingRequestCount == 0){  //当接口都调用完时

            setTimeout(function(){

                Indicator.close();  //关闭loading

            },100)

        }

    })

});

 

你可能感兴趣的:(javascript,vue,webpack)