jQuery的when, then, done, fail
$.when(deferreds)
提供一种方法来执行一个或多个对象的回调函数,Deferred(延迟)对象通常表示异步事件。
可以将 deferreds
认为是多个异步请求。$.when()
中可异步执行多个函数,函数之间使用逗号隔开。
实例: $.when(func1(), func2(), ...)
$.when(deferreds)
如果向
$.when(deferreds)
传入一个延迟对象,那么会返回它的Promise对象(延迟方法的一个子集)。 可以继续绑定Promise对象的其它方法,例如,defered.then。当延迟对象已经被受理(resolved) 或被拒绝(rejected)(通常是由创建延迟对象的最初代码执行的),那么就会调用相应的回调函数。
$.when()
一般和 then()
, done()
, fail()
配合使用。
done(func)
: when()
都处理完毕时执行 func
。fail(func)
: when()
中有处理失败的时执行 func
。then(func1, func2)
: when()
中都成功则执行 func1
,有失败的则执行 func2
。