Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每个浏览器都会挂起_Javascript_Jquery - Fatal编程技术网

Javascript 每个浏览器都会挂起

Javascript 每个浏览器都会挂起,javascript,jquery,Javascript,Jquery,我想循环所有表行并进行一些验证,下面是我的代码 $("#table > tr").each( function( idx, el ) { // my calculations goes here, it will take 500 ms for each record }); 当我循环20-30行时,这工作正常,如果我循环100多条记录,那么浏览器将挂起 我无法在这个逻辑中使用setTimeout,有人能帮我解决这个问题吗。提前谢谢 当然,您可以添加setTimeou

我想循环所有表行并进行一些验证,下面是我的代码

$("#table > tr").each( function( idx, el ) {

// my calculations goes here, it will take 500 ms for each record        

});
当我循环20-30行时,这工作正常,如果我循环100多条记录,那么浏览器将挂起


我无法在这个逻辑中使用setTimeout,有人能帮我解决这个问题吗。提前谢谢

当然,您可以添加
setTimeout

$("#table > tr").each( function( idx, el ) {

    setTimeout( function() { validation(idx,el) }, 0 );

});

但我很确定你在验证函数中做了一些错误的事情。500毫秒的同步代码在web开发中太多了,特别是对于30秒的任务!我相信您可以异步或更优化地执行此操作。

查看计算结果会很有帮助,500毫秒是很长的时间。显示验证代码。500毫秒*100行=50秒。如果我没有误解的话,大多数现代浏览器都允许JS不间断地运行30秒,这需要用户确认。因此,您最好优化验证以节省时间。您的计算是关于什么的?我只是不知道如何编写运行时间超过几毫秒的代码。。。您是如何做到的?谢谢您的回复,但是seTimeout会停止执行。each()直到我们完成验证逻辑吗?