# 事件循环 微宏任务

JS 是单线程的,同时限制了 JS 的效率,没法利用多核。

webworker 可以提供多线程。同时有诸多限制,受控主线程、不能访问IO、不能操作浏览器API等,只能分担类似计算任务

概括

  • 1、执行同步任务时,发现异步任务,将异步任务回调塞到下一轮的任务队列。
  • 2、ES6 新标准引入的 promise,Promise和mutationOberver统称为微任务。
  • 3、执行完同步任务后,会去执行微任务,然后渲染GUI,最后处理常规异步任务
  • 4、常规的同步任务和异步任务都统称宏任务,Promise和mutationOberver统称为微任务。