2016-04-20 7 views
0

私はExpressのフレームワークを使用して、私はこの機能を持っており、サーバーが起動するので、私は間隔でそれを実行したい: Node.js:サーバとしての特別な機能をどのように起動して初期化するか?

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

はので、私はExpress.jsフレームワークの初期ファイルにコードのこの部分を置くApp.jsと呼ばれますそれは2回しか実行されません。問題はどこにありますか?どのように修正できますか?

+3

'setInterval'を使用してください。 https://nodejs.org/api/timers.htmlを参照してください。 – borisdiakur

答えて

2

setTimeout機能は、その時間が終了したときは一度だけ、 ここにあなたのケースでは、1秒(1000ミリ秒)で動作します。

代わりに、同じことをするsetIntervalを使用したい場合があります。ただし、あなたが指示するまで停止しない点が異なります。ここで

は一例です:あなたがあなたの代わりに多くのノードcronsモジュールのいずれかを使用していない理由をジョブのcronのソートを、記述しているよう

var max = 3; 
var i = 0; 

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