Node.js:如何在服务器初始化时启动特殊功能?

时间:2016-04-20 08:04:36

标签: javascript node.js express

我使用Express框架,我有这个功能,我想在服务器启动后间隔运行它:

setTimeout(function () {
    console.log('timeout completed');
}, 1000);

所以我将这段代码放到名为App.js的Express.js Framework的初始文件中,但它只运行了两次,问题出在哪里,我该如何解决呢?

2 个答案:

答案 0 :(得分:2)

setTimeout功能在完成该时间后仅运行 , 在你的情况下它是1s(1000ms)。

相反,你可能想要使用setInterval做同样的事情,除非你告诉它之前它不会停止。

以下是一个例子:

var max = 3;
var i = 0;

var timer = setInterval(function(){
   if(i === max){
      // stop the timer from looping.
      clearInterval(timer);
   }else{
      i++;
   }   
},1000);

答案 1 :(得分:1)

看起来你正在描述一项cron工作,为什么不使用任何一个节点crons模块。

https://www.npmjs.com/package/node-cron

检查出来,非常直接。