setTimeout和setInterval之間的區別是什麼,例如在UI進程中長時間運行的函數?setTimeout和setInterval不同
setTimeout(function(){
/* Some long block of code... */
}, 10);
setInterval(function(){
/* Some long block of code... */
}, 10);
如果還有很長的執行時間,執行時間大於的setTimeout或setInterval的設置
間隔定期運行,超時一段時間後運行一次。 –
如果'long block of code'花費的時間比間隔長,那麼當使用'setInterval'時,最終會出現競爭條件。如果代碼可能需要一段時間,那麼最好使用'setTimeout',並在長代碼完成時啓動下一個定時器。 –
@ user1689607-javascript是單線程的,後續調用不會發生,直到前面的調用完成。儘管瀏覽器停止響應,但間隔太短可能會佔用所有資源。 – RobG