Node.js v4.2.4 手册 & 文档
目录
定时器#
稳定度: 5 - 已锁定
所有的定时器函数都是全局变量. 你使用这些函数时不需要 require()
模块.
setTimeout(callback, delay, [arg], [...])#
调度 delay
毫秒后的一次 callback
执行。返回一个可能被 clearTimeout()
用到的 timeoutId
。可选地,您还能给回调传入参数。
请务必注意,您的回调有可能不会在准确的 delay
毫秒后被调用。Node.js 不保证回调被触发的精确时间和顺序。回调会在尽可能接近所指定时间上被调用。
clearTimeout(timeoutId)#
阻止一个 timeout 被触发。
setInterval(callback, delay, [arg], [...])#
调度每隔 delay
毫秒执行一次的 callback
。返回一个可能被 clearInterval()
用到的 intervalId
。可选地,您还能给回调传入参数。
clearInterval(intervalId)#
停止一个 interval 的触发。
unref()#
setTimeout
和 setInterval
所返回的值同时具有 timer.unref()
方法,允许您创建一个活动的、但当它是事件循环中仅剩的项目时不会保持程序运行的定时器。如果定时器已被 unref
,再次调用 unref
不会产生其它影响。
在 setTimeout
的情景中当您 unref
您会创建另一个定时器,并唤醒事件循环。创建太多这种定时器可能会影响事件循环的性能,慎用。
ref()#
如果您之前 unref()
了一个定时器,您可以调用 ref()
来明确要求定时器让程序保持运行。如果定时器已被 ref
那么再次调用 ref
不会产生其它影响。
setImmediate(callback, [arg], [...])#
调度在所有 I/O 事件回调之后、setTimeout
和 setInterval
之前“立即”执行 callback
。返回一个可能被 clearImmediate()
用到的 immediateId
。可选地,您还能给回调传入参数。
immediate 的回调以它们创建的顺序被加入队列。整个回调队列会在每个事件循环迭代中被处理。如果您在一个正被执行的回调中添加 immediate,那么这个 immediate 在下一个事件循环迭代之前都不会被触发。
clearImmediate(immediateId)#
停止一个 immediate 的触发。