A lightweight event emitter implementation base on typescript.
Install the bd-emitter package via npm:
npm install bd-emitterInstall the bd-emitter package via yarn:
yarn add bd-emitterimport EventEmitter from 'bd-emitter';
const EventEmitter = require('bd-emitter');import EventEmitter from 'bd-emitter';
const emitter = new EventEmitter();
emitter.on('search', function (...args) {
console.log(args);
});
setTimeout(
function () {
emitter.emit('search', 'Baidu');
},
1000
);Register a specific callback to be called on a custom event.
import EventEmitter from 'bd-emitter';
const emitter = new EventEmitter();
const callback = function (...args) {
console.log(...args);
};
emitter.on('search', callback);
emitter.emit('search', 'Baidu AI'); // Baidu AISimilar to on() but the callback is removed after it is invoked once.
import EventEmitter from 'bd-emitter';
const emitter = new EventEmitter();
const callback = function (...args) {
console.log(...args);
};
emitter.once('search', callback);
emitter.emit('search', 'Baidu AI'); // Baidu AI
emitter.emit('search', 'Baidu AI'); // nothingeventName is optional, if provided only listeners for that event name are removed, otherwise remove all events.
import EventEmitter from 'bd-emitter';
const emitter = new EventEmitter();
const callback = function (...args) {
console.log(...args);
};
emitter.on('search', callback);
emitter.emit('search', 'Baidu AI'); // Baidu AI
emitter.off('search', callback);
emitter.emit('search', 'Baidu AI'); // nothingimport EventEmitter from 'bd-emitter';
const emitter = new EventEmitter();
const callback1 = function (...args) {
console.log(...args);
};
const callback2 = function (...args) {
console.log(...args);
};
emitter.on('custom:search', callback1);
emitter.on('custom:navigation', callback2);
emitter.emit('custom:search', 'Baidu Search'); // Baidu Search
emitter.emit('custom:navigation', 'Baidu Navigation'); // Baidu Navigation
emitter.off();
emitter.emit('custom:search', 'Baidu Search'); // nothing
emitter.emit('custom:navigation', 'Baidu Navigation'); // nothingEmits an event of the given type with the given data.
import EventEmitter from 'bd-emitter';
const emitter = new EventEmitter();
const callback = function (...args) {
console.log(...args);
};
emitter.on('search', callback);
emitter.emit('search', 'Baidu AI'); // Baidu AIgit clone git@github.com:bdwenxi/bd-emitter.gityarnjestbdwenxi (bdwenxi@gmail.com)
bdwenxi (bdwenxi@gmail.com)
This project is licensed under the MIT License