2016-04-26 27 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); 

然後一些其他的代碼可以設置enabledfalse和間隔功能將有效地暫停。