订阅者模式
来源:互联网 发布:mysql 最近10条记录 编辑:程序博客网 时间:2024/05/25 19:56
/* * 初始化 * var namespace.topic = CrmCommon.topic.init("namespace") * 订阅话题 * namespace.topic.subscribe( callback, topics[]) * 发布话题 * namespace.topic.publish( topic ) */var CrmCommon = {};CrmCommon.topic = { init: function (namespace) { var container = this.container; if (container[namespace] == undefined) { container[namespace] = { //订阅者列表,分主题存 subscribers: {}, //订阅函数 subscribe: function (callback, topics) { var tmp = this; $(topics).each(function (i, topic) { if (tmp.subscribers[topic] == undefined) { tmp.subscribers[topic] = []; } for (var i = tmp.subscribers[topic].length - 1; i >= 0; i--) { if (tmp.subscribers[topic][i] == callback) { return; } } tmp.subscribers[topic][tmp.subscribers[topic].length] = callback; }) }, //发布主题 publish: function (topic) { var tmp = this; if (tmp.subscribers[topic] != undefined) { for (var i = 0; i < tmp.subscribers[topic].length; i++) { if (typeof tmp.subscribers[topic][i] === 'function') { try { tmp.subscribers[topic][i](topic); } catch (e) { } } } } } } } return container[namespace]; }, container: {}}
阅读全文
0 0
- 发布者订阅者模式
- CEGUI订阅者模式
- 订阅者模式
- [转] 委托 订阅者模式
- java中订阅者模式
- 订阅者模式(观察者模式)
- 二、观察者模式/订阅者模式
- js 订阅者模式(观察者模式)
- 观察者模式与发布订阅者模式
- C#、最简单、事件委托、订阅事件、订阅者模式
- 发布订阅者模式c++实现
- boost智能指针重塑订阅者模式
- 一张图理解订阅者模式
- 发布者订阅者模式(一)
- ActiveMQ 2 订阅者模式实现
- 简单的订阅者/发布者模式
- activeMQ发布订阅者模式使用
- javascript 观察者模式 (订阅者与发布者)
- 谷歌调试技巧
- ExecutorService
- Top实战小技巧
- 一种改进的OPenCV局部 自适应快速二值化
- Particleground 粒子特效插件
- 订阅者模式
- cocoapods安装配置
- HDU 1896 Stones priority_queue
- Android面试盲区记录
- JavaScript、jqGrid总结
- hdu 6181
- 搭建开源论坛JForum测试环境(mysql数据库)
- 输入挂
- Java并发编程:线程池的使用