SOURCE

async function Gen (time) {
  return new Promise((resolve, reject) => {
    setTimeout(function () {
      resolve(time)
    }, time)
  })
}

async function test () {
  console.log('start')
  let arr = [Gen(100), Gen(200), Gen(300)];
  var result = await arr.reduce(async (pre, curr) => {
      pre = await pre;
      curr = await curr;
    //   console.log(pre + curr)
    return pre + curr
  });
  console.log(result);
}
test()

// async function Gen (time) {
//   return new Promise((resolve, reject) => {
//     setTimeout(function () {
//       resolve(time)
//     }, time)
//   })
// }

// async function test () {
//   console.log('start')
//   let arr = [100, 200, 300]
//   //   for await (let item of arr) {
//   //     console.log(item)
//   //   }
//   //   for (let index = 0; index < arr.length; index++) {
//   //     const item = await arr[index];
//   //     console.log(item)
//   //   }
//   var i = 0;
//   while (i < arr.length) {
//     var item = await Gen(arr[i]);
//     console.log(item);
//     i++;
//   }
//   console.log('end')
// }
// test()
console 命令行工具 X clear

                    
>
console