var i
var promiseArray = []
const self = this
for (i in self.platformList) {
// debugger
var p = new Promise(function(resolve, reject) {
apiGetPlatformIsOnline(self.platformList[i].id)
.then(response => {
console.log(response.data)
resolve(response.data)
})
.catch((err) => {
resolve(response.data)
})
});
promiseArray.push(p)
}
console.log(promiseArray)
Promise.all(promiseArray).then(function(results) {
var j
for (j in results) {
console.log("results[j]",results[j])
var k
for(k in self.platformList){
if(results[j].platform_id === self.platformList[k].id.toString()){
console.log(self.platformList[k].id)
self.$set(self.platformList[k], 'online', 'true')
}
if(results[j].platform_id ==='undefined'){
self.$set(self.platformList[k], 'online', 'false')
}
}
}
console.log("success")
}).catch(function(r) {
console.log("errzzzzz");
console.log(r);
});
这种情况要从业务逻辑入手。一方面,是不是真的所有的内容都要加载完才能进入下一步,把那些加载慢的放下一批可否?另一方面,队列是不是更合适,因为可以不断给出反馈?
或者你需要的是
Promise.race()
?