RT.Vue项目,封装了一层axios,只要调用axios就出现loading,然后在axios响应拦截器处让loading消失,这就导致了第一个请求完成后loading消失,后面的请求pending半天,用户总是感觉没数据,觉得现在唯一的办法是得知最后一个请求的状态
2 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
非常感谢大家的解答,现在已经解决,自答一下,如果有更好的方法希望大家分享一下,谢谢varnum=0axios.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')}})
翻翻过去那场雪
TA贡献2065条经验 获得超13个赞
//伪代码showLoading();constloads=urls.map(url=>ajax(url));awaitPromise.all(loads);hideLoading();
添加回答
举报
0/150
提交
取消