最新消息:看到那些跳动的图片、文字了吗?点击点击 O(∩_∩)O~~

一篇文章教会你Event loop——浏览器和Node

深夜食堂 onlyling 2864浏览

最近对Event loop比较感兴趣,所以了解了一下。但是发现整个Event loop尽管有很多篇文章,但是没有一篇可以看完就对它所有内容都了解的文章。大部分的文章都只阐述了浏览器或者Node二者之一,没有对比的去看的话,认识总是浅一点。所以才有了这篇整理了百家之长的文章。

目录

  • 定义
  • 意义
  • 浏览器上的实现
  • Node上的实现
  • 示例
    • 浏览器与Node执行顺序的区别
    • 不同异步任务执行的快慢
    • MicroTask队列与MacroTask队列

总结

综上,关于最关键的顺序,我们要依据以下几条规则:

1.同一个上下文下,MicroTask会比MacroTask先运行
2.然后浏览器按照一个MacroTask任务,所有MicroTask的顺序运行,Node按照六个阶段的顺序运行,并在每个阶段后面都会运行MicroTask队列
3.同个MicroTask队列下process.tick()会优于Promise

Event loop还是比较深奥的,深入进去会有很多有意思的东西,有任何问题还望不吝指出。

链接

原文阅读:一篇文章教会你Event loop——浏览器和Node

转载请注明:OnlyLing - Web 前端开发者 » 一篇文章教会你Event loop——浏览器和Node