这里有这些行
let users = []
members.forEach(member => {
let profile
db.get(member.id).then(value => {
profile = JSON.parse(value)
})
if(profile == null)
return
if(profile.bank + profile.cash > 0)
{
let user = new User(member, profile)
users.push(user)
}
})
console.log(users)
我想将User对象保存到users数组中,但是在forEach循环之外,它是未定义的。有人能帮我吗?
你的问题是javascript是如何工作的——
(member =>
表示函数调用。但是,当您访问控制台日志时,该函数可能还没有完成。你需要一个承诺来确保它完成。
等待.forEach()完成的最佳方法