Die Schnittstellen von WeChat-Applets sind alle asynchron, wenn Sie eine for-Schleife verwenden
var arr = [];
for(var i = 0;i<5;i++){
wx.request({
url: '',
header: {
'content-type': 'application/json', // 默认值
"Authorization": 'Bearer ' + wx.getStorageSync('token'),
},
success(resp) {
arr.push(resp.data)
}
})
}
setTimeout(function(){
console.log(arr);
},1000)
Es ist nicht einfach, Zeitgeber zu verwenden, um die für Schnittstellenanforderungen erforderliche Zeit zu steuern, und diese Methode ist im tatsächlichen Betrieb zu wenig verfügbar.
Kann durch Rekursion ersetzt werden
getammeternumber:function(res,i,length){
var that = this;
var ammeterInfo = that.data.ammeterInfo;
wx.request({
url: '',
header: {
'content-type': 'application/json', // 默认值
"Authorization": 'Bearer ' + wx.getStorageSync('token'),
},
success(resp) {
ammeterInfo.push(resp.data);
that.setData({
ammeterInfo: ammeterInfo
})
if (++i< length) {
that.getammeternumber(res, i, length);
}else{
wx.hideLoading();
}
}
})
},
Transfer:
that.getammeternumber (res, 0, res.data.length);