async getData() {
await this.Arr.forEach(async val => {
let obj = {};
let itemBody = {key:val}
let data = await post(this.dataUrl, itemBody, this.header);
console.log(data);
if (data.result) {
obj[val] = data.result.res;
closeAry.push(obj);
}
});
this.closeAry = closeAry;
let setKey = this.getStorageKey()
wx.setStorageSync(setKey.toString(), closeAry)
}
Arr 数组对应的是15条接口,本来想同步执行每个ajax,但是太慢。怎样让并发请求数据,返回结果在closeAry的顺序和Arr顺序对应?
每个请求都放到promise中,这样就构成了一个包含15个promise的数组,使用Promise.all(promise数组)并发执行,然后then取出数据。
最终效果图大概这个样子,示意,可能有bug