Node.js API —— Timers(定时器)

 // 说明
    Node API 版本为 v0.10.31。
    中文参考:http://nodeapi.ucdok.com/#/api/ 
    本段为博主注解。

目录

定时器
    ○ setTimeout(callback, delay, [arg], [...])
    ○ clearTimeout(timeoutObject)
    ○ setInterval(callback, delay, [arg], [...])
    ○ clearInterval(intervalObject)
    ○ unref()
    ○ ref()
    ○ setImmediate(callback, [arg], [...])
    ○ clearImmediate(immediateObject)
 稳定性:5 - 锁定
    全部的定时器函数都是全局的。你不须要为了使用它们而 require() 这个模块。

setTimeout(callback, delay, [arg], [...])

    计划在 delay 毫秒以后执行一个一次的 callback。返回一个 timeoutObject 以供 clearTimeout() 在有须要的时候使用。可选地,你也能够传递参数给回调函数。
    重要值得注意的是,你的回调函数极可能不是在准确的 delay 毫秒以后被调用—— Node.js 不保证回调函数执行的准确时间和执行的顺序。回调函数只是尽量地靠近指定的时间去执行。

clearTimeout(timeoutObject)

     阻止一个 timeout 定时器触发。

setInterval(callback, delay, [arg], [...])

    计划每隔 delay 毫秒以后重复执行 callback。返回一个 intervalObject 以供 clearInterval() 在有须要的时候使用。可选地,你也能够传递参数给回调函数。

clearInterval(intervalObject)

    中止一个 interval 定时器的触发。

unref()

    setTimeoutsetInterval 返回的不透明的值也有 timer.unref() 方法,能让你建立一个活跃的定时器,但若是它是事件循环中仅剩的元素时,将不会令程序保持运行。若是定时器已经被 unref,再次调用 unref 不会有任何影响。
    在 setTimeout 的状况下当你 unref,你将建立另外一个会唤醒事件循环的定时器。建立太多这些定时器可能对事件循环的性能形成不利的影响——慎用。

ref()

    若是你以前已经 unref() 一个定时器,你能够调用 ref() 明确地要求定时器保持程序运行。若是定时器已经被 ref,再次调用 ref 不会有任何影响。

setImmediate(callback, [arg], [...])

    计划在 I/O 事件回调以后,setTimeoutsetInterval 以前”立刻“执行 callback。返回一个 immediateObject 以供 clearImmediate() 在有须要的时候使用。可选地,你要能够传递参数给回调函数。
    immediate 事件都以建立的顺序被放入队列中,而且在每次事件循环迭代中从队列头弹出一个。这与 process.nextTick 不一样,后者会在每次迭代中执行 process.maxTickDepth 个队列中的回调函数。setImmediate 执行一个队列中的回调函数后会放弃(对CPU的占用)回到事件循环以保证 I/O 不至于没法发起。当执行的顺序被保存以后,其余 I/O 事件可能会在任何两个计划的 immediate 回调函数之间执行。

clearImmediate(immediateObject)

    中止一个 immediate 定时器触发。
相关文章
相关标签/搜索