什么是观察者模式
用一张图清晰解释
前端大量使用这模式来处理各种事件 addEventListener。
一个极小的例子
// Demo.js
const events = require('events')
export default class Demo{
constructor(){
this.events = new events.EventEmitter()
// 这一段代码纯为了测试事件触发
setTimeout(()=>{
this.events.emit('hello');
},2000)
}
on(eventType,func){
this.events.on(eventType,func)
}
}
// index.js
import Demo from './Demo.js'
const demo = new Demo()
demo.on('hello', () => {
console.log('on hello')
})
完