即所谓的事件派发(EventDispatch)。
事件派发者EventDispatcher的任务就是调度中心,类似电话交换机,接受信号,然后转发给目标。
事件派发者EventDispatcher通常提供三个方法
1. 保存收听者 addEventListener
EventDispatcher.getInstance().addEventListener('event1', message =>
console.log('event1: ', message)
)
2. 移除收听者 removeEventListener
EventDispatcher.getInstance().removeEventListener('event1')
3. 派发消息 dispatchEvent
EventDispatcher.getInstance().dispatchEvent('event1', 'how is it going?')
除此之外,事件派发者EventDispatcher还需要一个保存收听者的容器
/**
*EventList
*
* @private
* @type {Event[]}
* @memberof EventDispatcher
*/
private EventList: Event[]
<