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!