严肃的茶叶 · 电影学院召开2024年暑期社会实践出征仪式- ...· 2 月前 · |
完美的排球 · 瀛湖生态旅游区关于在全区开展“依法履职、忠诚 ...· 4 月前 · |
多情的葡萄酒 · 2022年苹果手机的挑选攻略(6月),iPh ...· 7 月前 · |
安静的饭盒 · 在做剪辑时片中视频素材是从哪里找? - 知乎· 1 年前 · |
$.Callbacks() 指一个多用途的回调函数列表对象,提供了一种强大的方法来管理回调函数队列。
提示: $.Callbacks 是在 jQuery 内部使用,如为 .ajax,$.Deferred 等组件提供基础功能的函数。它也可以用在类似功能的一些组件中,如自己开发的插件。
$ .Callbacks( flags ) // 输出: bar!, fn2 says: bar! callbacks . fire ( " bar! " ) ; callbacks . remove ( fn2 ) ; // 只输出 foobar, fn2 已经被移除。 callbacks . fire ( " foobar " ) ; 尝试一下 »
这个 flags 参数是 $.Callbacks() 的一个可选参数, 结构为一个用空格标记分隔的标志可选列表,用来改变回调列表中的行为 (比如. $.Callbacks( 'unique stopOnFalse' ))。
以下是可用的 flags:
下面是 $.Callbacks( "once" ) 的一个例子
下面是 $.Callbacks( "memory" ) 的一个例子
下面是 $.Callbacks( "unique" ) 的一个例子
下面是 $.Callbacks( "stopOnFalse" ) 的一个例子
$.Callbacks() 支持一个列表设置多个flags(标识)而不仅仅是一个,有一个累积效应,类似"&&"。
下面是 $.Callbacks( 'unique memory' ) 的一个例子
$.Callbacks 方法也可以被分离, 例如:
pub / sub(观察者模式)背后的一般思路是促进应用程序的松散耦合和高效通信。观察家也被称为订阅者,它指向观察对象。观察者(Publisher)事件发生时通知用户。
作为 $.Callbacks() 的创建组件的一个演示,只使用回调函数列表,就可以实现 Pub/Sub 系统。将 $.Callbacks 作为一个文章队列,可以向下面这样,实现文章的发布和订阅:
进一步改进使用 $.Deferreds,可以保证当特定的任务被完成(或被解决)时,发布者只能向订阅者发布通知。参见下面的示例代码:
安静的饭盒 · 在做剪辑时片中视频素材是从哪里找? - 知乎 1 年前 |