1.0.0 • Published 3 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
3 years ago