vue中axios请求全局封装loading动画

 以服务的方式调用的全屏 Loading 是单例的:若在前一个全屏 Loading 关闭前再次调用全屏 Loading,并不会创建一个新的 Loading 实例,而是返回现有全屏 Loading 的实例,所以我们全局封装的时候采用计数的方式确定是否关闭loading.

还需要注意的是Loading.service target里面可以配置局部现实加载动画,适应于实际项目中不需要全屏显示加载动画


import axios from "axios";
import { Message } from 'element-ui';
import { Loading } from "element-ui";
import ipConfig from "./ip-config";
let requestCount = 0
let loadingInstance = null
function logout() {
     localStorage.setItem("token2", undefined);
     localStorage.setItem("loginTime2", Date.now());
     localStorage.setItem("userName2", "");
     window.location.href = "/";
}
const service = axios.create({
     baseURl: ipConfig.baseIp,
     timeout: 30 * 1000,//设置6分钟
});
//请求拦截器
service.interceptors.request.use(config => {
     //发请求前做的一些处理,数据转化,配置请求头,设置token,设置loading等&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值