jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 我怎样才能让我的代码等到循环中的所有代码都在继续之前执行?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用每个 jquery迭代一组html元素.在每次迭代中,我都会调用get.我想跟踪成功的获取并在结束时输出计数.

var numsuccessful = 0;
$('.mySELEctor').each(function(){
    $.get('/myCfc.cfc?method=doSomething&id=' + $(this).attr('id'),function(data){
            numsuccessfuL++;
    });
});
alert(numsuccessful + ' successful');

代码的问题在于每个方法都会启动所有get调用,然后在完成gets之前继续执行警报 – 并且在更新numsuccessful变量之前.在测试运行中,我最终得到“0成功”而不是“4成功”,因为警报执行得太快.如何才能让代码等到所有内容完成后再继续?整个“每个”声明是否有成功回调?

解决方法

只需用$.ajax替换$.get并将async设置为false.

$.ajax({
    url : '/myCfc.cfc',data : { 'method' : 'doSomething','id' : $(this).attr('id') },async : false,success : function(data){
       numsuccessfuL++;
    }
});

通过执行此脚本将等待它将得到响应.

大佬总结

以上是大佬教程为你收集整理的jquery – 我怎样才能让我的代码等到循环中的所有代码都在继续之前执行?全部内容,希望文章能够帮你解决jquery – 我怎样才能让我的代码等到循环中的所有代码都在继续之前执行?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。