这里分享一个通用方法,vue,react等,几乎所有前端项目都可以使用这个思路。
只贴关键代码!!
let requestCount = 0 // 统计发起请求的接口数量
http.interceptor.request((config, cancel) => { /* 请求之前拦截器 */
requestCount++ // 开始累加数量
uni.showLoading({
title: "加载中",
mask: true,
});
return config
})
http.interceptor.response(async (response) => { /* 请求之后拦截器 */
// 这里是成功回调
requestCount-- // 开始递减数量
if (requestCount == 0) {
uni.hideLoading()
requestCount = 0
}
return response
}, (response) => {
requestCount--
// 这里是失败回调
if (requestCount == 0) {
uni.hideLoading()
requestCount = 0
}
return response
})
--------------------------------------- END ---------------------------------------