jQuery的when, then, done, fail

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

参考

  1. https://www.jquery123.com/jQuery.when/
  2. https://www.jquery123.com/deferred.done/
  3. https://www.jquery123.com/deferred.fail/
  4. https://www.jquery123.com/deferred.then/

评论