关于Nodejs的timers模块,它为JavaScript提供计时器相关的API,包括定时器、清除定时器等。下面详细讲解一下。
定时器API
1. setTimeout()
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
setTimeout(() => {
console.log('2 seconds have passed');
}, 2000);
setTimeout() 方法第一个参数是要执行的函数或计算表达式,第二个参数是以毫秒为单位的时间延迟数。以上面的代码为例,它会延迟2秒后输出 "2 seconds have passed"。
2. clearTimeout()
clearTimeout() 方法用于停止在setTimeout()方法创建的定时器。
let timerId = setTimeout(() => {
console.log('This will never be printed');
}, 2000);
clearTimeout(timerId);
以上面的代码为例,timerId代表由setTimeout()返回的定时器ID,通过clearTimeout()方法清除这个定时器。
3. setInterval()
setInterval() 方法用于在指定的时间间隔调用函数或计算表达式。
setInterval(() => {
console.log('Repeatedly running every half second');
}, 500);
setInterval() 方法第一个参数是要执行的函数或计算表达式,第二个参数是以毫秒为单位的时间间隔。以上面的代码为例,它每500毫秒输出 "Repeatedly running every half second"。
4. clearInterval()
clearInterval() 方法用于停止由setInterval()方法创建的定时器。
let intervalId = setInterval(() => {
console.log('Repeatedly running every half second');
}, 500);
clearInterval(intervalId);
以上面的代码为例, intervalId 代表由setInterval()返回的定时器ID,通过 clearInterval() 方法清除这个定时器。
示例说明
示例一
function printMessage(message) {
console.log(message);
}
setTimeout(printMessage, 2000, 'This message was printed after 2 seconds.');
以上代码定义了一个printMessage()函数,将它作为第一项参数传给setTimeout() 方法,并在第二个参数处传递了2000毫秒(2秒)来设定延迟时间。最终会输出 "This message was printed after 2 seconds."。
示例二
let count = 0;
let intervalId = setInterval(() => {
console.log('The count is ' + count);
count++;
if (count > 5) {
clearInterval(intervalId);
}
}, 1000);
以上代码定义了一个变量count,以及一个setInterval()定时器,每秒输出 "The count is ..." 并把count增加1。如果count大于5,使用clearInterval()方法停止定时器。程序输出结果为:
The count is 0
The count is 1
The count is 2
The count is 3
The count is 4
The count is 5
以上是Nodejs的timers模块完整攻略,希望能对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Nodejs的timers模块 - Python技术站