简介
npm 是一个用于 Node.js 平台的包管理器,可以让开发人员轻松地在项目中使用他人编写的代码。fbemitter 是 Facebook 开源的事件系统库,提供了一种用于组件间通信的轻量级方法。
安装
使用 npm 安装 fbemitter:
npm install fbemitter
基本用法
创建 emitter
在 JavaScript 文件中引入库,创建一个 emitter:
const EventEmitter = require('fbemitter').EventEmitter; const emitter = new EventEmitter();
添加监听器
使用 .addListener 方法添加一个监听器:
emitter.addListener('myEvent', (payload) => { console.log('Received payload:', payload); })
触发事件
使用 .emit 方法触发事件:
emitter.emit('myEvent', {key: 'value'});
此时,终端将输出:Received payload: {key: 'value'}
移除监听器
使用 .removeListener 方法移除监听器:
emitter.removeListener('myEvent', listenerCallback);
高级用法
添加监听器只触发一次
使用 .once 方法添加监听器,该监听器只会在触发事件的第一次执行:
emitter.once('myEvent', (payload) => { console.log('Received payload only once:', payload); })
移除所有监听器
使用 .removeAllListeners 方法移除所有的监听器:
emitter.removeAllListeners('myEvent');
监听多个事件
使用 .addListener 方法监听多个事件:
emitter.addListener('eventOne', listenerOne); emitter.addListener('eventTwo', listenerTwo);
监听器接收多个参数
监听器可以接收多个参数:
emitter.addListener('myEvent', (param1, param2) => { console.log('Received params:', param1, param2); }) emitter.emit('myEvent', 'value1', 'value2');
此时,终端将输出:Received params: value1 value2
结语
fbemitter 是一个极具灵活性的事件系统库,适用于各种项目。掌握 fbemitter 的使用技巧有助于增强开发效率和代码质量。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/62236