1.0.0 • Published 3 years ago

@tomoeed/js-emitter v1.0.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 years ago

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

将监听器函数添加到给定事件的监听器数组末尾
函数未检查监听器函数是否已添加, 多次调用将导致监听器函数多次添加

emitter.addListener('on:event', event => {});

removeListener(type, listener)

别名: off

移除给定事件的监听器数组中指定的监听器函数
如果监听器函数多次添加到给定事件的监听器数组中, 则需要多次调用该函数来删除每个实例

function listener() {}
emitter.removeListener('on:event', listener);

removeAllListener([type])

别名: offAll

删除所有监听器或给定事件的所有监听器

emitter.removeAllListeners('on:event');
emitter.removeAllListeners();

emit(type, event)

  • type: <string> | <EventType> 事件类型
  • event: 传递给处理程序的参数

触发指定事件

emitter.emit('on:event', {});

listeners(type)

获取监听给定事件的所有监听器

emitter.listeners('on:event');

License

Apache-2.0

1.0.0

3 years ago