javascript设置间隔运行为单独的线程?

前端之家收集整理的这篇文章主要介绍了javascript设置间隔运行为单独的线程?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用一个定时器作为一个回退,以防我遇到无限循环.看来设定间隔是正确的方法.但是,这对我来说不行.

从我的研究来看,似乎setInterval应该在后台的一个单独的线程中运行,但是我看不到它.

为什么会发生这种情况?我该如何解决

var time = 0;
window.setInterval(function(){time++;},1000);
while (true) {
    //stuff done
    if (time >= 5) {
        break;
    }
}

解决方法

浏览器JavaScript在单个线程中运行.所以如果你执行的时间太长,它会冻结浏览器.

有关详细信息,请参阅John Resig文章http://ejohn.org/blog/how-javascript-timers-work/

阅读该文章后,您将得到您的setInterval回调排队等待运行在1000ms之后,但只在当前代码完成后.它无法完成,因为无限循环.

猜你在找的JavaScript相关文章