在循环中采用异步给对象赋值,取值为undefined,去掉异步后能取值
因为console.log()依旧是在同步中,此时arr异步循环尚未执行完毕。如果要异步循环,可以用Promise.all方式输出
let arr = [
{name : " debe " ,age: 18},
{name : " dewe " ,age: 18},
{name : " dele " ,age: 18},
]
arr2=[1,2,3,4,5]
arr.forEach(async v=>{
await arr2.push(67)
v.test = arr2
})
Promise.all(arr).then((arr) => {
console.log(arr[0].test)
})