codecamp

Node.js 定时器

稳定性: 5 - 锁定

Node.js定时器模块提供了全局API,用于在以后的某个时间段调用函数。

所有的定时器函数都是全局的。不需要通过require()就可以访问。

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

delay毫秒之后执行callback。返回timeoutObject对象,可能会用来clearTimeout()。你也可以给回调函数传参数。

需要注意,你的回调函数可能不会非常准确的在delay毫秒后执行,Node.js不保证回调函数的精确时间和执行顺序。回调函数会尽量的靠近指定的时间。

clearTimeout(timeoutObject)

阻止一个timeout被触发。

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

每隔delay毫秒就重复执行callback。返回timeoutObject对象,可能会用来clearTimeout()。你也可以给回调函数传参数。

clearInterval(intervalObject)

阻止一个interval被触发。

unref()

setTimeoutsetInterval所返回的值,拥有timer.unref()方法,它能让你创建一个活动的定时器,但是它所在的事件循环中如果仅剩它一个定时器,将不会保持程序运行。如果定时器已经调用了unref,再次调用将无效。

setTimeout场景中,当你使用unref并创建了一个独立定时器它将会唤醒事件循环。创建太多的这样的东西会影响事件循环性能,所以谨慎使用。

ref()

如果你之前已经使用unref()一个定时器,就可以使用ref()来明确的请求定时器保持程序打开状态。如果计时器已经调用了ref(),再次调用将无效。

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

setTimeoutsetInterval事件前,在输入/输出事件后,安排一个callback"immediate"立即执行。

immediates的回调以它们创建的顺序加入队列。整个回调队列会在事件循环迭代中执行。如果你将immediates加入到一个正在执行回调中,那么将不会触发immediate,直到下次事件循环迭代。

clearImmediate(immediateObject)

用于停止一个immediate的触发。


Node.js DNS
Node.js 路径
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Node.js 相关教程

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }