js中同步异步的问题

// 同步和异步,异步又分为宏任务和微任务,优先执行同步任务,在执行微任务,最后执行宏任务
  function fun(item) {
    return new Promise(resolve => {
      resolve(item)
      setTimeout(() => {
        console.log(item, 3);
      }, 1000)
    })
  }
  let list = [1, 2, 3]
  list.forEach(item => {
    fun(item).then(res => {
      console.log(res, 2);
    })
    console.log(item, 1)
  })
  // 同步 forEach
  // 异步:微任务:promise; 宏任务:定时器

  // js中常见的微任务:promise MutationObserver等
  // js中常见的宏任务:setTimeout setInterval等
posted @ 2022-04-01 09:25  Life_countdown  阅读(39)  评论(0)    收藏  举报