一个异步操作中对一个数组中包含的对象中操作问题

在循环中采用异步给对象赋值,取值为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)
})