文章插图
一、设置定时器
【nodejs计时器 node 定时器 定时任务】1、一次定时器
基本用法
setTimeout(callback, delay[, ...args])
示例
setTimeout(function(){
console.log(\'我是一个一次性的定时器\');
},1000);
2、周期性定时器
基本用法
setInterval(callback, delay[, ...args])
示例
setInterval (function(){
console.log(\'我是一个周期性的定时器\');
},1000);
3、即时定时器
基本用法
setImmediate(callback[, ...args])
二、取消定时器
分别用clearTimeout()、clearInterval()和clearImmediate()方法取消相应定时器,防止该定时器触发 。
var testInterval=setInterval(testFunc,2000);
...
clearInterval(testInterval);
三、Timeout和Immediate类
Node.js内置两个有关定时器的类Timeout和Immediate,可用于创建相应的对象 。
Timeout对象在内部创建,并由setTimeout()或setInterval()方法返回,可以传递给clearTimeout()或clearInterval()以取消定时器 。
Immediate对象也在内部创建,并由setImmediate()方法返回 。它可以传递给clearImmediate()以取消即时定时器 。
四、setImmediate()方法与setTimeout()方法的对比
文章插图
五、process.nextTick()与setImmediate()的对比
process.nextTick()在当前阶段立即执行 。
setImmediate()在下一次迭代或事件循环的tick事件上被触发 。
process.nextTick()的回调函数执行的优先级要高于setImmediate() 。
文章插图