我们都有这样的需求:
我需要几个ajax请求,数据全部成功获取后才能加载。
以前做法:
1,在success回调里进行嵌套,这样,会造成代码难以阅读。
2,改异步为同步,顺序执行,不符合ajax初衷,效率不高。
3,写一个callback函数,统计所有请求都完成后执行。貌似有点繁琐。
jquery现在提供里这样一个功能。
$.when($.ajax(url1)
,$.ajax(url2))
.then(function success(arg1,agr2){
//arg1[0],arg2[0] 就是两个请求返回的数据
},function error(err){
});