1.0.0 • Published 5 years ago
@tomoeed/js-emitter v1.0.0
js-emitter
An event emit library
安装
npm install @tomoeed/js-emitter --save使用
import Emitter from '@tomoeed/js-emitter';
// commonjs
const Emitter = require('@tomoeed/js-emitter').default;
const emitter = new Emitter();
emitter.addListener();如果使用 script 引入库, 则可以通过 window.JSEmitter 使用
API
addListener(type, listener, [once])
别名: on
type: <string> | <EventType> 事件类型listener: <EventListener> 回调函数once: 该监听器是否为一次性监听器函数. 默认值:false- Return: <Emitter>
将监听器函数添加到给定事件的监听器数组末尾
函数未检查监听器函数是否已添加, 多次调用将导致监听器函数多次添加
emitter.addListener('on:event', event => {});removeListener(type, listener)
别名: off
type: <string> | <EventType> 事件类型listener: <EventListener> 回调函数- Return: <Emitter>
移除给定事件的监听器数组中指定的监听器函数
如果监听器函数多次添加到给定事件的监听器数组中, 则需要多次调用该函数来删除每个实例
function listener() {}
emitter.removeListener('on:event', listener);removeAllListener([type])
别名: offAll
type: <string> | <EventType> 事件类型- Return: <Emitter>
删除所有监听器或给定事件的所有监听器
emitter.removeAllListeners('on:event');
emitter.removeAllListeners();emit(type, event)
type: <string> | <EventType> 事件类型event: 传递给处理程序的参数
触发指定事件
emitter.emit('on:event', {});listeners(type)
type: <string> | <EventType> 事件类型- Return: <EventListenerObject>[]
获取监听给定事件的所有监听器
emitter.listeners('on:event');License
1.0.0
5 years ago