为了账号安全,请及时绑定邮箱和手机立即绑定

如何做到所有请求完成loading消失?

如何做到所有请求完成loading消失?

婷婷同学_ 2019-05-22 20:45:05
RT.Vue项目,封装了一层axios,只要调用axios就出现loading,然后在axios响应拦截器处让loading消失,这就导致了第一个请求完成后loading消失,后面的请求pending半天,用户总是感觉没数据,觉得现在唯一的办法是得知最后一个请求的状态
查看完整描述

2 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

非常感谢大家的解答,现在已经解决,自答一下,如果有更好的方法希望大家分享一下,谢谢
varnum=0
axios.interceptors.request.use(function(config){//在请求发出之前进行一些操作
num++
_bus.$emit('showloading')
returnconfig
}
axios.interceptors.response.use(response=>{//接受请求后num--,判断请求所有请求是否完成
num--
if(num<=0){
_bus.$emit('closeLoading')
}else{
_bus.$emit('showloading')
}
})
                            
查看完整回答
反对 回复 2019-05-22
?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

//伪代码
showLoading();
constloads=urls.map(url=>ajax(url));
awaitPromise.all(loads);
hideLoading();
                            
查看完整回答
反对 回复 2019-05-22
  • 2 回答
  • 0 关注
  • 1326 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信