猿问

vuejs中loading组件如何能在所有请求返回之后再隐藏

目前loading组件的使用是直接通过 axios的拦截器,在发送请求的时候展示,在响应回来的时候隐藏

但是比如有多个请求,在第一个请求返回的时候,loading就已经被隐藏,不知道有什么方法,可以让所有的请求被响应了 再返回


慕虎7371278
浏览 370回答 3
3回答

繁星点点滴滴

全局是实现方式,通过拦截器axios.interceptors.request和axios.interceptors.response给还存在的http请求计数,通过vuex同步状态,通过全局的loading组件控制显示和隐藏。题外话,我觉得这体验不如不加。

蝴蝶刀刀

使用Promise.all([axios1, axios2]).then(() => {  // 隐藏loading})

沧海一幻觉

Promise.all([axios1, axios2]).then(() => {  this.listLoading = false}).catch(e => {this.listLoading = false})
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答