几年前,有人警告我不要在长时间内使用setInterval
,因为如果被调用的函数运行时间超过指定的间隔,它会导致浏览器挂起,并且无法赶上运行:
setInterval( function(){
foo = 'bar_' + i++;
}, 1 );
我知道在循环中添加大量代码可能会导致浏览器挂起,而像 alert
、prompt
和 confirm
这样的阻塞代码会停止代码执行,但是有没有什么好的理由避免使用 setInterval
?
注意:我知道如何使用递归的 setTimeout
调用(因为我一直在使用它),这个问题是我试图弄清楚是否仍然值得使用它们,或者是否可以安全地使用 setInterval
。