jQuery使用deferreds串行多个ajax请求
使用JQuery对多个ajax请求串行执行。
HTML代码:
<ahref="#">Clickme!</a> <div></div>
JS:
functionGetSomeDeferredStuff(){ vardeferreds=[]; vari=1; for(i=1;i<=10;i++){ varcount=i; deferreds.push( $.post('/echo/html/',{ html:"<p>Task#"+count+"complete.", delay:count }).success(function(data){ $("div").append(data); })); } returndeferreds; } $(function(){ $("a").click(function(){ vardeferreds=GetSomeDeferredStuff(); $.when.apply(null,deferreds).done(function(){ $("div").append("<p>Alldone!</p>"); }); }); });
方法类似于Node.js中的q,使用promisedefer模式将所有的ajax请求放到一个数组里,然后通过$.when.apply().done()将所有ajax请求依次执行。
以上所述是小编给大家介绍的jQuery使用deferreds串行多个ajax请求,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!