首页 > 其他 > 详细

设计模式--------订阅/发布模式 (观察者)

时间:2020-07-28 13:21:25      阅读:71      评论:0      收藏:0      [点我收藏+]
pub/sub 这个应该?家?到最?的设计模式了,
 
class Event{
constructor(){
this.callbacks = {}
}
$off(name){
this.callbacks[name] = null
}
$emit(name, args){
let cbs = this.callbacks[name]
if (cbs) {
cbs.forEach(c=>{
c.call(this, args)
})
}
}
$on(name, fn){
(this.callbacks[name] || (this.callbacks[name] = [])).push(fn)
}
}
let event = new Event()
event.$on(‘event1‘, function(arg){
console.log(‘事件1‘,arg)
})
event.$on(‘event1‘, function(arg){
console.log(‘??个时间1‘,arg)
})
event.$on(‘event2‘, function(arg){
 
console.log(‘事件2‘,arg)
})
event.$emit(‘event1‘,{name:‘开课吧‘})
event.$emit(‘event2‘,{name:‘全栈‘})
event.$off(‘event1‘)
event.$emit(‘event1‘,{name:‘开课吧‘})
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

设计模式--------订阅/发布模式 (观察者)

原文:https://www.cnblogs.com/zhouyideboke/p/13390347.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!