代码
arr.forEach(async o => {
const thirdPartyBalances = []
// console.log(thirdPartyBalances) // 1
await getThirdPartyBalance({ third_party: o.id }) // 异步转同步
.then(r => {
// console.log(r) // 2
thirdPartyBalances.push({
name: o.name, // 第三方应用的名字
balances: r.balances.map(o => ({
id: o.id,
code: o.id, // 第三方的字段转换成beex的字段
amount: o.amount,
})),
})
})
.catch(err => {
console.log(err)
})
// 这里拿到了所有的第三方账户信息,可以统一保存在vuex和localStorage
// console.log(thirdPartyBalances) // 3
})
如果没有await 那么打印顺序是1-3-2, 现在加了await,打印顺序变成了1-2-3,正确拿到了所有的数据。