js 异步for循环

假设一名厨师,需要做3道菜,声明一个菜数组,菜对象是菜名和做菜需要的时间

let dishes=[{name:"fish",time:1},{name:"fish1",time:2},{name:"fish3",time:3}]

首先,厨师做菜应该一道接一道的做,所以得保证一道菜做后才开始做下一道菜。这里用async/await实现,当然也可以选择都用Promise

    (async ()=>{
      for (let d of ds) {
          console.log("开始做"+d.name)
          await (() => {
            return new Promise(res => {
              setTimeout(res, d.time * 1000)
            })
          })();
          console.log("做好了"+d.name)
        }
    })
    原文作者:ZoeLee
    原文地址: https://segmentfault.com/a/1190000015565421
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞