遍历包含异步的数组在JS中不起作用

时间:2019-12-18 02:10:31

标签: javascript asynchronous

我想编写一个脚本来使用map循环执行一个函数“将项目加倍并添加到数组中”。

这是我的代码:

let array = [{a:1},{a:2},{a:3}];

const double = async (item) => {
  await setTimeout(() => {
    let b = (item.a)*2
    item.b = b;
  }, 3000);

  let promise = new Promise ((resolve, reject) => {
    resolve(item);
  });

  return promise;
}

(async () => {

  await Promise.all(array.map(item => double(item)));
  console.log(array);

})();

这是我得到的: [{a:1},{a:2},{a:3}]

我想要什么: [{a:1,b:2},{a:2,b:4},{a:3,b:6}]

有什么想法吗?

0 个答案:

没有答案