nemitter
v0.0.10
Published
Node compatible ES2015 event emitter for all engines with more powerfull features.
Downloads
12
Maintainers
Readme
nemitter
Node compatible ES2015 event emitter for all engines with more powerfull features.
Install
npm i nemitter
Require / Import
const EventEmitter = require('nemitter');
import EventEmitter from 'nemitter';
Examples
Add listener asynchronously
const myEmitter = new EventEmitter();
myEmitter.on('event', (a, b) => {
setImmediate(() => {
console.log('this happens asynchronously');
});
});
myEmitter.emit('event', 'a', 'b');
AddListener / on / once
const myEmitter = new EventEmitter();
myEmitter.on('type', listener);
myEmitter.emit('type', arg1, arg2);
Listening for and emitting events:
const myEmitter = new EventEmitter();
myEmitter.on('foo', (message) => console.log(message));
myEmitter.emit('foo', 'bar');
Adding and removing events:
function foo(message) {
console.log('foo: ' + message);
}
const emitter = new EventEmitter();
myEmitter.on('foo', foo);
myEmitter.emit('foo', 'bar'); // Logs 'foo: bar'
myEmitter.off(foo);
myEmitter.emit('foo', 'bar'); // No longer logs 'foo: bar', because the listener was removed
Listen to all events:
const emitter = new EventEmitter();
myEmitter.onAny((eventName, message) => console.log(`${eventName}: ${message}`));
myEmitter.emit('foo', 'bar'); // Logs 'foo: bar'
myEmitter.emit('poo', 'bar'); // Logs 'poo: bar'
Forward events:
const firstEmitter = new EventEmitter();
const secondEmitter = new EventEmitter();
// Forward 'message' events from firstEmitter to secondEmitter:
firstEmitter.on('message', secondEmitter);
secondEmitter.on('message', (message) => console.log('secondEmitter: ' + message));
firstEmitter.emit('message', 'foo'); // Logs 'secondEmitter: foo'