关键名词

  • 主执行栈:会一直执行同步任务到结束,异步任务会通过任务队列Event Queue机制来进行协调
  • 异步任务又分为微任务micro task和宏任务macro task

总结:任务优先级:先执行同步任务 > 微任务 > 宏任务

  • 微任务:browser环境(Promise.then catch finally、MutationObserver)、node环境(Promise.then catch finally、process.nextTick)
  • 宏任务:browser环境(setTimeout、setInterver、requestAnimationFrame)、node环境(setImmediate)
  • 注意:new Promise(resolve=>{ console.log('我是同步的') })