[EGO]Emitter —— 事件订阅和发布
本文最后更新于
2018-02-23, 文中内容可能已过时,请注意甄别~
Emitter⌗
介绍⌗
Emitter 顾名思义,就是事件发射器;和 Java 中的 Listener 类似,有 Java 的基础就很容易理解什么是事件发射器。 源于 Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列,然后在需要触发时候再去调用。
这个在tab组件预览里也能看到演示,打开控制台即可,传送门
方法⌗
on⌗
添加监听函数到需要监听的事件
- event 事件名称
- fn 监听函数
emit⌗
触发选择监听的事件,触发将执行每个附加到该事件的侦听器。也就是会触发所有对应名字的监听函数。
- event 事件名称
off⌗
解绑事件,即删除该事件上的监听函数
- event 事件名称
- fn 监听函数
代码示例⌗
var emitter = new Emitter(); // 实际中是封装在工具类中,这里只是演示
function demo {
console.log('测试emitter');
}
emitter.on('test', demo); // 添加监听函数demo到事件test上
emitter.emit('test'); // 控制台打印 “测试emitter”
emitter.off('test', demo); // 如果解绑demo函数,则再次触发失效
emitter.emit('test'); // nothing
Read other posts