js 循环push数据(异步请求)到一个空数组中,如何避免数组最后为空?

示例代码:

    let newData = []
    data.map(async item => {
        item.distance = await this.computeDistance()//异步请求函数
        newData.push(item)
    })
    console.log(newData)// []

问题:如何防止最后打印newData时为一个空数组?

已解决 悬赏分:40 - 解决时间 2021-11-26 16:40
反对 0举报 0 收藏 0

回答2

最佳
  • @

    Promise.all(
    data.map(item => this.computeDistance()})
    ).then(newData=>{

    console.log(newData)

    })

    支持 0 反对 0 举报
    2021-11-26 10:44
  • @

    并行promiseAll,串行promise链。
    你这个写法不太规范。

    支持 0 反对 0 举报
    2021-11-26 10:51