来源:未知 时间:2024-05-05 11:01 作者:小飞侠 阅读:次
[导读] 今天给大家带来简单的基于js实现发布订阅模式。 描述 发布/订阅模式 由统一调度中心调用,隐藏发布者和订阅者不续约知道对方的存在 下面是源码: //事件触发器classEventEmitter{const...
今天给大家带来简单的基于js实现发布订阅模式。 描述发布/订阅模式 由统一调度中心调用,隐藏发布者和订阅者不续约知道对方的存在 下面是源码: // 事件触发器 class EventEmitter { constructor () { // { 'click': [fn1, fn2], 'change': [fn] } this.subs = Object.create(null) } // 注册事件 $on (eventType, handler) { this.subs[eventType] = this.subs[eventType] || [] this.subs[eventType].push(handler) } // 触发事件 $emit (eventType) { if (this.subs[eventType]) { this.subs[eventType].forEach(handler => { handler() }) } } } // 测试 let em = new EventEmitter() em.$on('click', () => { console.log('click1') }) em.$on('click', () => { console.log('click2') }) em.$emit('click') 以上就是js发布订阅模式全部内容,感谢大家支持自学php网。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com