问题:小程序封装request请求时,页面同时请求多个接口,但是 努力加载中 只显示一次,就隐藏掉了 导致其他接口数据还没显示完全时, 努力加载中就没了, 看着页面不和谐
解决办法:定义ajaxTimes作为请求次数标记,每进入到request中次数加1,请求结束次数减1,当ajaxTimes的次数等于初始值0时,将wx.showLoading隐藏
function request(url, data, fnsuccess, fnfail) {
ajaxTimes++;
wx.showLoading({
mask: true,
title: '努力加载中'
})
wx.request({
url: root_url + url,
data: data,
header: {
'content-type': 'application/json'
},
method: 'GET',
dataType: 'json',
responseType: 'text',
success: function (res) {
fnsuccess(res);
},
fail: function (res) {
if (fnfail) fnfail(res);
console.log(res);
setTimeout(() => {
wx.showToast({
title: "显示内容",
icon: 'none',
duration: 2000
})
setTimeout(() => {
wx.hideToast();
}, 2000)
}, 0);
},
complete: function (res) {
//console.log(res);
ajaxTimes--;
if (ajaxTimes == 0) wx.hideLoading();
},
})
}