等待JQuery异步全部完成执行语句(函数)
var COUNT=0;
COUNT++;//关键在于该行
for(var i=0;i<xxx;i++){//xxx可以在执行时才确定
COUNT++;
$.get(url1,function(){
if(--COUNT==0){
//①执行全部加载后方法
}
});
}
if(--COUNT==0){//关键在于该行,如果执行到这行的时候ajax未完成则被跳过,由语句①完成加载后方法,如果执行到这行的时候ajax实际已完成(其回调使其为1),即COUNT自减前必然为1,自减后为0,由语句②完成加载后方法
//②执行全部加载后方法
}
看到《如何等待JQuery异步全部完成,再执行查询》的讨论,http://bbs.csdn.net/topics/390609530,其中用定时器等方法实现该功能不够简洁高效,故提出如上改进代码