内容简介:为了协调异步任务,使任务按时间顺序执行,NodeJS提供了四种定时器;其中而
为了协调异步任务,使任务按时间顺序执行,NodeJS提供了四种定时器;
- setTimeout()
- setInterval()
- setImmediate()
- process.nextTick()
其中 setTimeout
、 setInterval
存在于JS语言标准,
而 setImmediate
、 process.nextTick
则为NodeJS独有;
任务的执行顺序
-
同步任务先于异步任务执行 -
本轮循环先于次轮循环执行
本轮事件循环
本轮循环中存在两个队列:
- nextTick队列(nextTickQueue)
- 微任务队列(microTaskQueue)
在本轮循环中 process.nextTick
是优先执行的,所有的 nextTick
定时器执行完成后,
才轮到微任务队列定时器执行,常见的 Promise
就属于微任务定时器;
次轮事件循环
事件循环的六个阶段:
timers阶段 i/o callback阶段 idle、prepare阶段 poll阶段 check阶段 close callback阶段
- 参考: 定时器详解
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Node.js 事件循环、定时器和process.nextTick()
- [译]Node.js中的事件循环,定时器和process.nextTick()
- 各种定时器--最全的定时器使用
- java定时器无法自动注入的问题解析(原来Spring定时器可以这样注入service)
- Golang定时器陷阱
- jmeter(七)定时器
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java程序员修炼之道
[英] Benjamin J. Evans、[荷兰] Martijn Verburg / 吴海星 / 人民邮电出版社 / 2013-7 / 89.00元
本书分为四部分,第一部分全面介绍Java 7 的新特性,第二部分探讨Java 关键编程知识和技术,第三部分讨论JVM 上的新语言和多语言编程,第四部分将平台和多语言编程知识付诸实践。从介绍Java 7 的新特性入手,本书涵盖了Java 开发中最重要的技术,比如依赖注入、测试驱动的开发和持续集成,探索了JVM 上的非Java 语言,并详细讲解了多语言项目, 特别是涉及Groovy、Scala 和Cl......一起来看看 《Java程序员修炼之道》 这本书的介绍吧!