axios 配置loading_用Axios Element 实现全局的请求 loading

本文介绍了如何结合axios和Element UI实现全局的请求loading功能。通过axios的拦截器管理请求开始和结束,利用一个计数器合并同一时刻的多个请求loading。当所有响应返回后,结束loading。此外,还提供了配置选项,允许特定请求不显示loading,并优化了loading关闭的时机,避免短时间内连续请求导致的闪烁问题。
摘要由CSDN通过智能技术生成

c66adc327553

c66adc327553

Kapture 2018-06-07 at 14.57.40.gif

背景

业务需求是这样子的,每当发请求到后端时就触发一个全屏的 loading,多个请求合并为一次 loading。

现在项目中用的是 vue 、axios、element等,所以文章主要是讲如果使用 axios 和 element 实现这个功能。

分析

首先,请求开始的时候开始 loading, 然后在请求返回后结束 loading。重点就是要拦截请求和响应。

然后,要解决多个请求合并为一次 loading。

最后,调用element 的 loading 组件即可。

拦截请求和响应

axios 的基本使用方法不赘述。笔者在项目中使用 axios 是以创建实例的方式。

// 创建axios实例

const $ = axios.create({

baseURL: `${URL_PREFIX}`,

timeout: 15000

})

然后再封装 post 请求(以 post 为例)

export default {

post: (url, data, config = { showLoading: true }) => $.post(url, data, config)

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值