Node.js – hasRef() 和 refresh() 定时器方法
定时器对象通过内部创建,并由 setTimeout() 和 setInterval() 方法返回。您可以使用此对象,并将其传递给 clearTimeout() 或 clearInterval() 方法,以便取消已调度的操作
以下是用于控制默认行为的 超时类 ref 对象
1. timeout.hasRef()
只要它的值为 True,此方法就能保持 Node 事件循环处于活动状态。
语法
timeout.hasRef()
2. timeout.refresh()
此方法将计时器的开始时间刷新为当前时间,并将计时器重新调度到回调函数中,此前指定的时间间隔将调整为当前时间。此方法有助于在没有新 JS 对象的情况下刷新计时器。
语法
timeout.refresh()
示例
创建一个名为 "timeout.js" 的文件并复制代码段。创建文件之后,使用命令 "node timeout.js" 来运行此代码。
// Timeout class Demo Example // Setting the Timeout using setTimeout() Method var Timeout = setTimeout(function fun() { console.log("1. Setting Timeout for 100ms", 100); }); // Checking if the timeout.hasRef() object console.log("2. ", Timeout.hasRef()); // Refreshing the timer console.log("3. ", Timeout.refresh()); // Clears setInterval Timeout clearTimeout(Timeout); console.log("4. Timeout is cleared !");
输出
2. true 3. Timeout { _called: false, _idleTimeout: 1, _idlePrev: [TimersList], _idleNext: [TimersList], _idleStart: 382, _onTimeout: [Function: alfa], _timerArgs: undefined, _repeat: null, _destroyed: false, [Symbol(unrefed)]: false, [Symbol(asyncId)]: 5, [Symbol(triggerId)]: 1 } 4. Timeout is cleared !
广告