Node.js setTimeout和setInterval

setTimeout

setTimeout设置一个函数,在指定的延迟(毫秒)后被调用。

以下代码显示了setTimeout的一个快速示例,它在1000毫秒(一秒)后调用函数。

  1. setTimeout(function () {
  2. console.log("timeout completed");
  3. }, 1000);

setInterval

类似setTimeout函数的是setInterval函数。setTimeout在指定的持续时间之后只执行一次回调函数。setInterval在每次经过指定的持续时间后重复调用回调。

下面的代码每秒打印第二遍。

  1. setInterval(function () {
  2. console.log("second passed");
  3. }, 1000);

注意

setTimeout和setInterval都返回一个对象,可以使用clearTimeout/clearInterval函数清除timeout/interval。

以下代码演示如何使用clearInterval在每秒钟之后调用函数五秒钟,然后清除应用程序将退出的interval。

  1. var count = 0;
  2. var intervalObject = setInterval(function () {
  3. count++;
  4. console.log(count, "seconds passed");
  5. if (count == 5) {
  6. console.log("exiting");
  7. clearInterval(intervalObject);
  8. }
  9. }, 1000);