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

3,173次阅读
没有评论

共计 462 个字符,预计需要花费 2 分钟才能阅读完成。

最近对 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

正文完
 0
评论(没有评论)
验证码