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