event-emitter-es6
v1.1.5
Published
Small event emitter for using in es6 and plain js
Downloads
52,937
Maintainers
Readme
event-emitter-es6
A small event emitter library. Works in the browser and in Node. Can be used with es6 inheritance or as stand-alone lib.
Inspired by the tiny-emitter package on npm.
For more information you can see jsdoc info in index.es6 file.
Very simply applies to express.
Install
Node
npm install event-emitter-es6 --saveBrowser
bower install event-emitter-es6 --save<script src="bower_components/event-emitter-es6/dist/event-emitter.min.js"></script>or apply via express
var express = require('express');
var app = express();
<... your code here ...>
app.use( require('event-emitter-es6/router') );<script src="event-emitter-es6/event-emitter.min.js"></script>Usage
Node
var EventEmitter = require('event-emitter-es6');
var emitter = new Emitter();
emitter.on('some-event', function listener1 (param1, param2, param3) {
console.info('listener1', param1, param2, param3);
});
emitter.on('some-event', function listener2 (param1, param2, param3) {
console.info('listener2', param1, param2, param3);
});
emitter.emit('some-event', 'some-val1', 'some-val2', 'some-val3');Browser
var emitter = new EventEmitter();
emitter.on('some-event', function listener1 (param1, param2, param3) {
console.info('listener1', param1, param2, param3);
});
emitter.on('some-event', function listener2 (param1, param2, param3) {
console.info('listener2', param1, param2, param3);
});
emitter.emit('some-event', 'some-val1', 'some-val2', 'some-val3');ES6
class SomeEmittingClass extends EventEmitter {
constructor() {
super();
}
fireExampleEvent() {
this.emit('some-event', 'some-val1', 'some-val2', 'some-val3');
}
}
var emittingInstance = new SomeEmittingClass();
emittingInstance.on('some-event', function listener1 (param1, param2, param3) {
console.info('listener1', param1, param2, param3);
});
emittingInstance.on('some-event', function listener2 (param1, param2, param3) {
console.info('listener2', param1, param2, param3);
});
emittingInstance.fireExampleEvent();Instance Methods
constructor([opts])
An option can be passed to constructor
opts- settings object for create event emitteropts.emitDelay- delay in ms to emit event. If passed 0 - all events emits synchronously. By default = 10opts.strictMode- when emit event with no listeners - fires error. By default = false
destroy()
Completely destroys event emitter.
on(event, callback)
Subscribe to an event
event- the name of the event to subscribe tocallback- the function to call when event is emitted (for transfer context use bind method of Function.prototype)
once(event, callback)
Subscribe to an event only once
event- the name of the event to subscribe tocallback- the function to call when event is emitted (for transfer context use bind method of Function.prototype)
off(event[, callback])
Unsubscribe from an event or all events. If no callback is provided, it unsubscribes you from all events.
event- the name of the event to unsubscribe fromcallback- the function used when binding to the event. If you used function with bind method - must be passed the same function, that was getted after binding.
emit(event[, ...arguments])
Trigger a named event
event- the event name to emitarguments...- any number of arguments to pass to the event subscribers
emitSync(event[, ...arguments])
Trigger a named event immediate (even the emitter was created as async instance)
event- the event name to emitarguments...- any number of arguments to pass to the event subscribers
Build
Build (Browserifies, and minifies)
npm install
npm run buildTest
Test
npm install
npm run testChange list
Version 1.1.5
- destroy() method of class
Version 1.1.4
- All code covered with tests
