這樣的功能是否會降低性能,或者被認爲是不好的做法?setInterval一直在運行是不是很糟糕?
setInterval(function(){
if(something){
do something
}
}, 100);
對我來說,在背景中不斷有東西運行會很糟糕。
這樣的功能是否會降低性能,或者被認爲是不好的做法?setInterval一直在運行是不是很糟糕?
setInterval(function(){
if(something){
do something
}
}, 100);
對我來說,在背景中不斷有東西運行會很糟糕。
它正在運行的指令集每隔多少毫秒,因此它能夠「慢下來」,這取決於如何密集型的說明,以及如何將用戶從其他進程或網頁上運行的許多其它指令。
如果沒有必要,這是不好的做法。如果你的應用程序是一個每隔幾毫秒完成一件事情的應用程序,那麼這是完成它的一種方法。如果您因爲無法找到正確的工作方式而辭職,那麼您應該花時間去查找並實施正確的工作方式,而不是騷擾用戶的CPU週期。
謝謝,這很有道理。是的,我正在做,因爲我找不到更好的方法!不幸! – NewCodeMan
同意。它取決於setInterval內部的函數在做什麼,以及代碼庫的其餘部分對時間敏感。這實質上就是AngularJS中digest循環背後的想法,不斷檢查$ scope中的變化並重新計算/重繪DOM。所以,它可能是有用的,但它不能很好地擴展。 – mhodges
@NewCodeMan聽起來像[XY問題](http://xyproblem.info/)。嘗試詢問你無法弄清楚的問題,而不是詢問你提出的解決方案。 – mhodges
如果必須經常運行,還有什麼其他方式? –
我不知道。我是一個初學者:o)但我會學到更多 – NewCodeMan