[英]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.