jquery多异步管理使用记录

文章目录

  1. 1. $.when() 传递多个deferred
  2. 2. done() callback内arguments结构不一致
  3. 3. 同步UI阻塞弹出层提示

先记录一些参考文章

$.when() 传递多个deferred

1
2
3
4
5
var ajaxBatch=[];
//构建deferred数组
...

$.when.apply($, ajaxBatch).done();

done() callback内arguments结构不一致

就是会有三种情况:

  • 无参数
  • $.when()一个deferred参数: [data, textStatus , jqXHR] #假定 x代表[data,textStatus,jqXHR]结构
  • $.when()多个deferred参数: [x1,x2,x3]

是不是醉了,怎么统一处理?
目前使用判断最里层data的结构

1
2
3
4
5
6
7
8
.done(function(){
var params=[].slice.call(arguments);
if(typeof params[0][0] !='object'){ //第二种情况返回undefined
params=[];
params[0]=[].slice.call(arguments);
}
//然后遍历结果吧
});

stackoverflow
Asynchronous Operations

同步UI阻塞弹出层提示

弹出层成功回调中使用setTimeout延时

如有疑问,请文末留言交流或邮件:newbvirgil@gmail.com 本文链接 : https://newbmiao.github.io/2016/11/08/jquery-multi-async-manage-note.html