Node.js – 定时器模块 – 定时调度
**定时器**模块包含可在一段时间后执行代码的函数。您无需显式导入**定时器**模块,因为它在模拟的浏览器 JavaScript API 中已全局可用。
**定时器**模块主要分为两类
**定时调度** – 此定时器将任务安排在某个时间点后执行。
setImmediate()
setInterval()
setTimeout()
**取消定时器** – 这种类型的定时器取消了已设置要执行的计划任务。
clearImmediate()
clearInterval()
clearTimeout()
定时调度
1. setTimeout() 方法
**setTimeout()** 方法在指定毫秒数后安排代码执行。只有在超时发生后,才会执行代码。指定的函数将仅执行一次。此方法返回一个 ID,可用于 **clearTimeout()** 方法。
语法
setTimeout(function, delay, [args])
示例 1
let str = 'TutorialsPoint!'; setTimeout(function () { // Will be printed after 2 seconds return console.log(str); }, 2000); // This will be printed immediately console.log('Executing setTimeout() method');
输出
Executing setTimeout() method TutorialsPoint!
2. setImmediate() 方法
**setImmediate()** 在当前事件循环周期结束时执行代码。
语法
setImmediate(function, [args])
示例
文件名 - immediate.js
// Setting timeout for the function setTimeout(function () { console.log('setTimeout() function running'); }, 5000); // Running this function immediately before any other setImmediate(function () { console.log('setImmediate() function running'); }); // Directly printing the statement 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() Example 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() Example var si = setInterval(function A() { return console.log("Setting Intevals for 500 ms !"); }, 500); // Cleared the interval from 1000 ms setTimeout(function() { clearInterval(si); }, 1000);
输出
Setting Intevals for 500 ms !
6. clearTimeout() 方法
此方法清除由 **setTimeout()** 方法创建的立即定时器对象。
语法
clearTimeout(timerObject)
示例
文件名 - clearTimeout.js
// clearTimeout() Example var timer = setTimeout(function A() { return console.log("Hello TutorialsPoint!"); }, 500); // timer2 will be executed var timer2 = setTimeout(function B() { return console.log("Welcome to TutorialsPoint!"); }, 500); clearTimeout(timer);
输出
Welcome to TutorialsPoint!
广告