【发布时间】:2018-10-23 23:38:57
【问题描述】:
我是异步等待和承诺的初学者。我阅读了几篇文章并观看了一些教程视频,但我仍然无法完全理解它。 所以我现在正在编写一个代码
}).then(function() {
var responseArray = []
[url1,url2,url3,url4].forEach((url)=>{
makeRequest(url)
}).then((response)=>{
responseArray.push(response)
})
return responseArray
})
正如预期的那样,responseArray 返回为空。我需要让它等到每个 makerequest(url) 的所有响应都被推送到 responseArray。
这是我的尝试
}).then(function() {
var responseArray = []
[url1,url2,url3,url4].forEach((url)=>{
async makeRequest(url)
}).then((response)=>{
await responseArray.push(response)
})
return responseArray
})
谁能帮我解决这个问题?
【问题讨论】:
-
剩下的代码在哪里?您也需要外部承诺来正确重构它
-
异步等待 + Array.prototype.map():
.then(async () => ['url1', 'url2', 'url3', 'url4'].map(async url => await makeRequest(url)));
标签: javascript foreach promise async-await