2016-04-26 17 views
-3

setInterval()のように、一時停止して別のコマンドを実行できるメソッドがあるかどうかを質問したかっただけです。私は信号機システムをコーディングしていて、各画像は画面上に現れます(これらはライトです)。そして、異なる時間量のままでいるので、シーケンスで再生されるのでsetInterval()またはsetTimeoutを使用できません。setIntervalの代わりに?

+2

'setTimeout'で再帰的アプローチを使用してください。 – Bergi

+0

代わりにループを使用できます。もう少し仕事はありますが、タイマーはただのループです。 – floor

+1

関数の実行を一時停止することも、現在実行中のものを中止することもできません。それでは、あなたは特定の機能を再開することはできません。あなたができることは、順番に実行されるべき関数の配列を作成し、それぞれの後に他のタスクを実行できるようにすることです。 –

答えて

-1

変数を使用して、インターバル機能の動作を制御することができます。

var enabled = true; 
setInterval(function() { 
    if (!enabled) { 
     return; 
    } 
    // rest of code here 
}, period); 

そしていくつかの他のコードがfalseenabledを設定することができ、インターバル機能を効果的に一時停止されます。