1、作用
$.Deferred()为耗时操作产生的
如,遍历大数组,请求后台数据等
deferred对象可以使用链式调用
2、使用
//存在三种状态,未完成progress、已完成resolve、失败reject
//执行三种函数,done()、fail()、always()
var deferred = $.Deferred();
deferred.done(function(){})
.fail(function(){})
.always(function(){});
//将完成和失败的函数写入then中
deferred.then(function(){},function(){});
//作为返回值
deferred.promise();
3、和$.when()一起使用,多个操作指定回调函数
//传入deferred对像,都成功执行done,都失败执行fail
$.when($.ajax({url:''}), $.ajax({url:''}))
.done(function(data1,data2){})
.fail(function(){});