并发执行异步事件,按顺序输出结果

 并发执行异步事件,按顺序输出结果,总耗时为数组中最大的数:

    const getData = async (num) => {
      return await new Promise((resolve) => {
        setTimeout(() => {
          resolve(num)
        }, num)
      })
    }

    //并发执行异步事件,按顺序输出结果,总耗时为数组中最大的数
    const order = async (nums) => {
      const promises = nums.map(async num => {
        return await getData(num)
      })
      for (const data of promises) {
        console.log(await data)
      }
      console.log(new Date())
    }

    const nums = [3000, 2000, 1000, 5000, 5000]
    console.log(new Date())
    order(nums)
    

并发执行异步事件,按顺序输出结果

继发执行异步事件,按顺序输出结果,总耗时为数组中的数字之和:

   const getData = async (num) => {
      return await new Promise((resolve) => {
        setTimeout(() => {
          resolve(num)
        }, num)
      })
    }

    //继发执行异步事件,按顺序输出结果,总耗时为数组中的数字之和
    const order = async (nums) => {
      for (const num of nums) {
        const res = await getData(num)
        console.log(res)
      }
      console.log(new Date())
    }

    const nums = [3000, 2000, 1000, 5000, 5000]
    console.log(new Date())
    order(nums)
    

并发执行异步事件,按顺序输出结果