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