tiny-emitter是一个轻型的是事件发射器工具库主要用来实现一个简易的基于监听发布者模式的事件派发和接收器。当然喽,你也可以自撸一个TypeScript版的事件发射器。
安装
npm install tiny-emitter --save
使用
var Emitter = require('tiny-emitter');
var emitter = new Emitter();
emitter.on('some-event', function (arg1, arg2, arg3) {
//
});
emitter.emit('some-event', 'arg1 value', 'arg2 value', 'arg3 value');
或者,您可以通过引入tiny-emitter/instance来跳过初始化步骤。直接生成一个初始化的发射器实例对象。
var emitter = require('tiny-emitter/instance');
emitter.on('some-event', function (arg1, arg2, arg3) {
//
});
emitter.emit('some-event', 'arg1 value', 'arg2 value', 'arg3 value');
实例方法
on(event, callback[, context])订阅事件
- event - 要订阅的事件名称
- callback - emit触发事件时要调用的函数
- context - (可选的) - 将事件回调绑定到的this上下文
once(event, callback[, context])只订阅一次事件
- event - 要订阅的事件的名称
- callback - emit发出事件时要调用的函数
- context - (可选的) - 将事件回调绑定到的this上下文
off(event[, callback])
取消订阅事件或所有事件。如果没有提供回调,它将取消对所有事件的订阅。
- event - 要取消订阅事件的名称
- callback - 绑定到事件时使用的回调函数
emit(event[, arguments...])触发命名事件
- event - emit触发事件时的事件名称
- arguments... - 传递给事件的回调函数任何数量的参数