如何在JavaScript中的setInterval函数中添加条件检查?

时间:2013-08-03 20:29:16

标签: javascript setinterval

例如,JavaScript代码如下:

<!DOCTYPE html>
<html>
    <body>
        <script>
            var val = 0;

            var p2 = setInterval(function(){proc2()},1000);
            function proc2()
            {
                // while (val == 0);
                alert(val);
                clearInterval(p2);
            }

            var p1 = setInterval(function(){proc1()},1000);
            function proc1()
            {
                val = 1;
                clearInterval(p1);
            }

        </script>

    </body>
</html>

在函数proc2()中,我希望在val的值设置为1时执行它。因此,我添加while(val==0);行,但它不起作用。浏览器卡住了。有什么问题呢?在JavaScript中的setInterval函数中添加条件检查的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

它陷入了while循环。在setInterval中使用return来预防代码执行,除非满足条件。

while的问题在于它一直循环并且永远不会离开循环,释放线程以进行任何其他调用。