-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Load the elvjs API.
Get the event emitter constructor. This can be used to create custom event emitters, as follows:
var myEmitter = new EventEmitter()
Get the global event emitter. This is just a global instance of EventEmitter
created at module load time.
Register a handler for a named event using the global events emitter, and return a handle to the event, which should be used in a call to events.removeListener
. If once
is used, or is passed as true
to addListener
then the handler is automatically removed after it had been triggered once.
on
is an alias for addListener
.
once
is an alias for listenOnce
.
Remove a previously registered event handler. The handle
is the value returned from a previous call to events.addListener
.
off
is an alias for removeListener
.
Sends a named event, passing whatever arguments are passed to the handler(s) registered for the event.
Dumps diagnostic and stats to console for this emitter.
Garbage Collect. Not essential but if your app is creating a lot of event handlers then destroys them all, or registers lots of event handlers with unique names, then destroys them, then the internal event table can end up with a lot of null
entries. Calling events.gc() will perform a cleanup of internal structures removing all these entries.
Examples
// Global Event Emitter Example
var events = require('elvjs').events;
var handler = events.on('my-event', console.log);
events.fire('my-event', 'anything I like');
events.fire('my-event', { a: 1, b: 2 }, { c: 3 }, 4, 'multiple arguments');
events.off(handler);
// Custom Event Emitter Example
var EventEmitter = require('elvjs').EventEmitter;
var custom = new EventEmitter()
var handler = custom.on('my-event', console.log);
custom.fire('my-event', 'anything I like');
custom.fire('my-event', { a: 1, b: 2 }, { c: 3 }, 4, 'multiple arguments');
custom.off(handler);