Node.js – 定时器模块 – 调度定时器
所述定时器模块包含可在一定的时间段之后执行代码的功能。您不需要显式导入计时器模块,因为它已经在模拟浏览器JavaScriptAPI中全局可用。
定时器模块主要分为两类
调度计时器-此计时器安排任务在某个时刻后发生。
setImmediate()
setInterval()
setTimeout()
取消计时器-这种类型的计时器取消设置为发生的计划任务。
ClearImmediate()
clearInterval()
clearTimeout()
调度定时器
一、setTimeout()方法
该setTimeout()方法在指定的毫秒数后调度代码执行。只有在超时发生后,代码才会被执行。指定的函数将只执行一次。此方法返回可在clearTimeout()方法中使用的ID。
语法
setTimeout(function, delay, [args])
示例1
let str = 'nhooo!'; setTimeout(function () { //将在2秒后打印 return console.log(str); }, 2000); //这将立即打印 console.log('Executing setTimeout() method');输出结果
Executing setTimeout() method nhooo!
2.setImmediate()方法
setImmediate()在当前事件循环周期结束时执行代码。
语法
setImmediate(function, [args])
示例
文件名-immediate.js
//设置函数超时 setTimeout(function () { console.log('setTimeout() function running'); }, 5000); //在任何其他函数之前立即运行此函数 setImmediate(function () { console.log('setImmediate() function running'); }); //直接打印语句 console.log('Simple statement in the event loop');输出结果
Simple statement in the event loop setImmediate() function running setTimeout() function running
3.setInterval()方法
setInterval()在指定的时间间隔后执行代码。该函数在间隔过去后执行多次。该函数将继续调用,直到进程在外部停止或在指定时间段后使用代码。
语法
setInterval(function, delay, [args])
示例
文件名-interval.js
setInterval(function() { console.log('Tutoirals Point - SIMPLY LEARNING !'); }, 1000);输出结果
Tutoirals Point - SIMPLY LEARNING ! Tutoirals Point - SIMPLY LEARNING ! Tutoirals Point - SIMPLY LEARNING ! Tutoirals Point - SIMPLY LEARNING ! Tutoirals Point - SIMPLY LEARNING ! Tutoirals Point - SIMPLY LEARNING ! Tutoirals Point - SIMPLY LEARNING ! Tutoirals Point - SIMPLY LEARNING ! Tutoirals Point - SIMPLY LEARNING !
4.clearImmediate()方法
此方法清除由该setImmediate()方法创建的立即计时器对象。
语法
clearImmediate(timer)
示例
文件名-clearImmediate.js
//clearImmediate()示例 var timer = setImmediate(function A() { console.log("Timer set"); }); clearImmediate(timer); console.log("Timer cancelled");输出结果
Timer cancelled
5.clearInterval()方法
此方法清除由该setInterval()方法创建的立即计时器对象。
语法
clearInterval(timer)
示例
文件名-clearInterval.js
//clearInterval()示例 var si = setInterval(function A() { return console.log("设置间隔为500毫秒!"); }, 500); //从1000ms清除间隔 setTimeout(function() { clearInterval(si); }, 1000);输出结果
设置间隔为500毫秒!
6.clearTimeout()方法
此方法清除由该setTimeout()方法创建的立即计时器对象。
语法
clearTimeout(timerObject)
示例
文件名-clearTimeout.js
//clearTimeout()示例 var timer = setTimeout(function A() { return console.log("你好教程点!"); }, 500); //timer2将被执行 var timer2 = setTimeout(function B() { return console.log("欢迎来到nhooo!"); }, 500); clearTimeout(timer);输出结果
欢迎来到nhooo!