vue在axios.js文件中封装全局loding,请求接口开启,请求成功或者请求失败关闭

import axios from 'axios'

import { Loading } from 'element-ui';

const server = axios.create({

baseURL: '',

timeout: 50000

})

let requestCount = 0;

let loadingInstance = null;

//请求拦截

server.interceptors.request.use(config => {

// config.headers['token'] = "758ab7aa755e46e68c0a16adf9549a92"

if(requestCount == 0) {

loadingInstance = Loading.service({

lock: true,

text: '拼命加载中',

spinner: 'el-icon-loading',

background: 'rgba(0,0,0,0.6)',

customClass: 'loadingClass'

});

let BOX = document.querySelector(".loadingClass");

BOX.style.zIndex = "999999"

}

requestCount += 1;

return config

},error=>{

requestCount -= 1

if(requestCount <= 0 && loadingInstance ) {

requestCount = 0

loadingInstance.close();

}

return Promise.reject(error);

})

//响应拦截

server.interceptors.response.use(res => {

requestCount -= 1

if(requestCount <= 0 && loadingInstance ) {

requestCount = 0

loadingInstance.close();

}

return res.data

},error=> {

requestCount -= 1

if(requestCount <= 0 && loadingInstance ) {

requestCount = 0

loadingInstance.close();

}

return Promise.reject(error);

})

export default server

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值