使用map和promise将属性添加到对象数组

时间:2018-08-21 02:47:26

标签: javascript object promise

使用map中的async函数获得的对数组中每个对象的新属性分配均无效。 这是我的代码:

asyncFunction.then(array => {
    var promises = array.map(obj => {
      return otherAsyncFunction(obj._id).then(prop => {
        obj.url = prop;
        return obj
      })
    })
    Promise.all(promises).then(function (results) {
      console.log(results)
    })
    res.send(user.friends)
})

console.log(results)显示相同的数组。

我尝试在return obj之前记录新的obj juste,它还会显示旧的obj

1 个答案:

答案 0 :(得分:0)

我终于找到了答案:array某种程度上是不可变的,我只是使用以下命令复制了初始数组:

let b = JSON.parse(JSON.stringify(array));