我的回答

  1. 性能问题, 全是同步任务阻塞
  2. 异步问题, , 异步任务回调执行

参考回答

  • 区分微任务和宏任务是为了将异步队列任务划分优先级,通俗的理解可以方便插队
  • 一个事件循环: 微任务在宏任务之后调用,微任务会在下一个事件循环之前执行调用完,并且其中会将微任务执行当中新注册的微任务一并调用执行完,然后才开始下一次的事件循环,所以如果有新的宏任务就需要一直等待,等到上一个事件循环当中微任务被清空为止。由此可见。我们可以在下一次事件循环之前进行插队。
  • 如果不区分微任务和宏任务的话,那就无法在下一次事件循环之前进行插队,其中新注册的任务得等到下一个宏任务完成之后才能进行,这中间需要的状态就无法在下一个宏任务中得到同步。