Node.js setTimeout和setInterval
setTimeout
setTimeout设置一个函数,在指定的延迟(毫秒)后被调用。
以下代码显示了setTimeout的一个快速示例,它在1000毫秒(一秒)后调用函数。
setTimeout(function () {
console.log("timeout completed");
}, 1000);
setInterval
类似setTimeout函数的是setInterval函数。setTimeout在指定的持续时间之后只执行一次回调函数。setInterval在每次经过指定的持续时间后重复调用回调。
下面的代码每秒打印第二遍。
setInterval(function () {
console.log("second passed");
}, 1000);
注意
setTimeout和setInterval都返回一个对象,可以使用clearTimeout/clearInterval函数清除timeout/interval。
以下代码演示如何使用clearInterval在每秒钟之后调用函数五秒钟,然后清除应用程序将退出的interval。
var count = 0;
var intervalObject = setInterval(function () {
count++;
console.log(count, "seconds passed");
if (count == 5) {
console.log("exiting");
clearInterval(intervalObject);
}
}, 1000);