JQuery中的Defferred

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(){});

你可能感兴趣的:(javascript)