我正在尝试遍历数组并将结果推入数组,但数组返回为空
const actionOpportunities = result.data.opportunities
const actionArray = []
for (let opportunities of actionOpportunities){
const currentIDs = opportunities.id
axios.get('apiURL.com='+currentIDs,clientGet)
.then((results)=>{
const actionsResult = results.data.actions
actionArray.push(actionsResult)
})
}
console.log(actionArray)
这是因为actionArray.push
将执行后。爱可信返回一个承诺,和then
你传递给数据推到回调actionArray
执行后认为console.log(actionArray)
。
解决方案:等待所有承诺解决,您可以使用Promise.all
,此时您可以收集所有结果。
类似于以下内容:
const promises = []
for (let opportunities of actionOpportunities){
const currentIDs = opportunities.id
promises.push(axios.get('apiURL.com='+currentIDs, clientGet))
}
Promise.all(promises).then(allResults => {
console.log(allResults)
})
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句