关于$.when(),$.apply(),$.when.apply(),$.when.apply().then()的用法(项目总结)
来源:互联网 发布:大数据时代书籍推荐 编辑:程序博客网 时间:2024/06/05 00:52
项目中有这样的应用,以前基本上没有用到过$.when(), $.apply()这些方法,所以就自己百度了一下
$.when()
jQuery.when() 方法
jQuery 杂项方法
实例
一个参数传递给 $.when() 被受理,执行回调函数
尝试一下 »
定义和用法
$.when() 函数提供一种方法来执行一个或多个对象的回调函数。
提示:如果向 jQuery.when 传入一个延迟对象,那么会返回它的 Promise 对象(延迟方法的一个子集)。 可以继续绑定 Promise 对象的其它方法,例如, defered.then 。当延迟对象已经被受理(resolved) 或被拒绝(rejected)(通常是由创建延迟对象的最初代码执行的),那么就会调用相应的回调函数。
语法
更多实例
如果你不传递任何参数,jQuery.when()将返回一个resolved(受理)状态的 promise 对象。
实例
不传递任何参数,执行回调函数
尝试一下 »
在多个延迟对象传递给jQuery.when() 的情况下,该方法返回一个新的"宿主"延迟对象,当所有的延迟对 象被受理(resolve)时,该方法才会受理它的宿主延迟对象。当其中有一个延迟对象被拒绝(rejected)时, 该方法就会拒绝它的宿主延迟对象。当宿主对象被受理时,doneCallbacks(受理回调)将被执行。
实例
传入多个延迟对象
尝试一下 »
如果没有值传递给延迟对象的受理(resolved)事件,那么相应的doneCallback参数 将是undefined。 如果传递给延迟对象的受理(resolved)事件为单个的值, 相应的参数 将保留那个值。 在传递给延迟对象的解决(resolved)事件为为多个值的情况下, 相应的 参数将是这些值组成的数组。
实例
传入多个不同类型的延迟对象
尝试一下 »
在多个延迟的情况下,如果延迟对象之一被拒绝(rejected),jQuery.when()触发立即 调用 "宿主" 延迟对象的 failCallbacks 回调函数。
实例
多个延迟对象之一被拒绝时调用failCallbacks 回调函数
尝试一下 »
js中apply方法的使用
1、对象的继承,一般的做法是复制:Object.extend
prototype.js的实现方式是:
}
除此之外,还有种方法,就是:Function.apply(当然使用Function.call也是可以的)
apply方法能劫持另外一个对象的方法,继承另外一个对象的属性
Function.apply(obj,args)方法能接收两个参数
apply示范代码如下:
function Person(name,age){
}
function Print(){