关键名词
- 主执行栈:会一直执行同步任务到结束,异步任务会通过任务队列Event Queue机制来进行协调
![](http://gd9f.com/content/images/2020/12/image.png)
- 异步任务又分为微任务micro task和宏任务macro task
![](http://gd9f.com/content/images/2020/12/image-1.png)
总结:任务优先级:先执行同步任务 > 微任务 > 宏任务
- 微任务:browser环境(Promise.then catch finally、MutationObserver)、node环境(Promise.then catch finally、process.nextTick)
- 宏任务:browser环境(setTimeout、setInterver、requestAnimationFrame)、node环境(setImmediate)
- 注意:new Promise(resolve=>{ console.log('我是同步的') })