nodejs定时器用法入门教程

发布时间:2020-03-11编辑:脚本学堂
node.js定时器入门教程,包括setTimeout、setInterval、setImmediate与process.nextTick的介绍,不了解的朋友可以做个参考。

setTimeout 和 clearTimeout
var obj = setTimeout(cb, ms);
setTimeout 用于设置一个回调函数 cb,其在最少 ms 毫秒后被执行(并非在 ms 毫秒后马上执行)。setTimeout 返回值可以作为 clearTimeout 的参数,clearTimeout 用于停止定时器,这样回调函数就不会被执行了。

setInterval 和 clearInterval
var obj = setInterval(cb, ms);
setInterval 和 setTimeout 类似,不过 setInterval 会在每 ms 毫秒后(并非精确的 ms 毫秒后)执行一次 cb。setInterval 返回值可以作为 clearInterval 的参数,clearInterval 用于停止定时器,这样回调函数就不会被执行了。

setImmediate 和 clearImmediate
var obj = setImmediate(cb);
setImmediate 用于延迟调用 cb 函数。cb 将在 I/O 事件回调之后,setTimeout 和 setInterval 回调之前调用。setImmediate 的返回值可以作为 clearImmediate 的参数,clearImmediate 用于停止触发回调函数。

process.nextTick
process.nextTick(cb);
类似 setImmediate 函数,用于延迟调用 cb 函数。cb 将在 I/O 事件回调之前调用(区别于 setImmediate)。process.nextTick 相比 setTimeout(cb, 0) 要高效的多。process.nextTick 在每次循环时会执行最多 process.maxTickDepth 个回调函数,而 setImmediate 在每次循环中仅仅执行一个回调函数。