Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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 jQuery在块$.each()完成后运行代码_Javascript_Jquery - Fatal编程技术网

Javascript jQuery在块$.each()完成后运行代码

Javascript jQuery在块$.each()完成后运行代码,javascript,jquery,Javascript,Jquery,使用以下代码: $('#按钮')。在('click',函数(){ var longArray=searchArray;//假设它有100个或更多postalcodes init var shortarray=[],i,len; 对于(i=0,len=longArray.length;i

使用以下代码:

$('#按钮')。在('click',函数(){
var longArray=searchArray;//假设它有100个或更多postalcodes init
var shortarray=[],i,len;
对于(i=0,len=longArray.length;i
我尝试在$.each()完成后显示一条警报消息(用于调试)。因为每个都经过一个可能是1000个邮政编码的数组,所以我把它分成了100块。这是为了防止可怕的浏览器没有响应。这一切都很正常,但单击会立即触发警报

我已经尝试过几种方法:

  • 我尝试使用一个计数:
    在每个变量计数=0的上方;在EACH count++中,如果(count==longArray.length){ALERT}
    但这也会立即触发警报
  • 我试着用一段间歇时间,但几乎立刻就变得一团糟
  • 我尝试了几个其他的答案,但都导致了立即开火的警告
  • 在查看jQuery文档和我之前编写的代码时,应该在每个文档完成后运行代码,但在本例中,它没有

    你知道这是为什么吗?我该怎么解决

    PS:此警报可能是其他代码!比如对结果进行排序或者别的什么

    PS2:我可以更改您看到的所有js/jQuery,但我不能更改任何HTML选择器


    PS3:感谢您思考这个问题,特别是您的评论/回答

    我通过添加另一个setTimeout解决了这个问题

    因此,我将警报(参见问题)替换为

    警报(已完成的消息);
    

    setTimeout(函数(){
    //作为一个例子,我在我的问题和这里的回答中使用了alert。
    //这当然可以是其他任何东西。例如,我使用它对结果进行排序。
    警报(完成消息);
    }, 0 );
    

    这对我来说很有效,但可能不是最好的解决方法。因此,我仍在期待更有经验的人对这个问题或答案的看法。

    如果我不使用setTimeout,那么当用户搜索1000个postalcodes时,我会发现Chrome中的页面会变成无响应错误。我现在正在通过更改超时时间进行测试,我将在没有超时的情况下再次测试。我会让你知道结果的。@JonUleis我第一次尝试添加100ms而不是0ms。这导致我在100毫秒后收到警报。然后我通过注释来删除超时,这一点都没有影响。警报马上就来了。PS:谢谢你的评论!