2011-07-02 9 views
0

この状況では、コールが必要です。私はこの機能がある場合:setIntervalをクリアしてNode.jsコールバックを停止する

var timerID; 
function playBack(client,log){ 
    if (timerID) clearInterval(timerID); 
    timerID = setInterval(function(){ 
     var buffer = [], 
      numberOfLogLines = log.length; 
     while(numberOfLogLines > 0){ 
      var l = log.pop().trim(); // pull from the top 
      buffer.push(l); 
      if(l.split(",")[0] === "$TIMETOSEND"){ //flag for the timming signal 
       client.send("{\"playback\":" + JSON.stringify(buffer) + "}"); 
       break; 
      } 
     } 
    },playBackSpeed); 
} 

をし、他のいくつかの時点で

てclearInterval(timerIdの)

を呼び出し、これはコールバックを停止していますか?再生を開始する一時停止/再生の状況を作成しようとしていますが、再起動するためにplayBack(クライアント、ログ)を再度呼び出すことになります。動作するようですが、私はコールバックを停止する間隔をクリアするのだろうかと思います。重い「一時停止/遊び」の幸せな人の場合、ログジャムを作成したくありません。

答えて

1

clearInterval(timerID)を呼び出すと、その後の匿名関数の呼び出しが停止します。前回の呼び出しが実行されている場合、これらは終了します。

関連する問題