EventHub模块提供了事件中心,提供订阅、取消订阅、触发事件的能力。
EventHub不是全局的事件中心,不同的context对象拥有不同的EventHub对象,事件的订阅、取消订阅、触发都作用在某一个具体的EventHub对象上,因此不能用于虚拟机间或者进程间的事件传递。
1.订阅指定事件
EventHub.on
on(event: string, callback: Function): void;
2.取消订阅指定事件
EventHub.off
off(event: string, callback?: Function): void;
3.触发指定事件
EventHub.emit
emit(event: string, ...args: Object[]): void;
三个方法中的event是事件key ,必须有,一定要相同
callback可以采用箭头函数
args是可变参数,可以没有