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请求,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!