簡體   English   中英

您如何在控制台中終止無限循環(`setInterval`)?

[英]How would you terminate an infinite loop (`setInterval`) in the console?

例如,我們可以運行

 setInterval(function(){console.log("Hello, SO!")}, 2000); 

Hello, SO! 在終端中每兩秒鍾重復一次。 下圖中有6個重復。

在此處輸入圖片說明

您是否可以按某個鍵或鍵入命令以停止控制台中的無限循環?

我知道這是您最好的選擇。

var interval = setInterval(() => console.log("hello, world"), 2000);
clearInterval(interval);

要取消間隔,您需要一個句柄以傳遞給clearInterval() 在您的映像中,執行setInterval() ,您可以看到該句柄以4491返回到控制台。 這樣,您可以像這樣殺死它:

clearInterval(4491);

另外(更好),您應該將該句柄return分配給變量,以便可以通過編程將其殺死:

let interval = setInterval(() => console.log('Hello, SO!'), 2000);
clearInterval(interval);

編輯:
您也可以蠻力。 句柄是一個int64數字,因此它可能很大,但是對於幾乎所有應用程序來說,它都會很小,因為句柄是遞增的。 請注意,此方法可能會破壞依賴間隔的其他程序包。

for (var i = 1; i < 9999; i++) clearInterval(i);

您可以使用此處描述的暫停按鈕在當前頁面上停止腳本執行。 但是,這將暫停頁面上的所有JS,而不僅僅是您的時間間隔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM