【发布时间】:2019-06-29 03:44:07
【问题描述】:
我正在尝试在使用forEach 循环的函数中使用async 和await。恼人的是我无法让它工作。应该发生的是它需要一个事件数组docs,循环它们,添加一些额外的数据,然后将它们推送到events 数组。然后从原始函数返回此 events 数组。这是我的代码:
async function getEvents() {
...
var events = []
await addExtrasToDocsForUser(docs, currentUserId, events)
return events
}
var addExtrasToDocsForUser = (docs, currentUserId, events) => {
return docs.forEach(async (eventDoc) => {
const event = await addExtrasToDocForUser(eventDoc, currentUserId)
events.push(event)
})
}
实际发生的是getEvents() 函数在forEach 循环完成之前将events 作为空数组返回。我该如何解决这个问题?
【问题讨论】: