Skip to content
Mehuge edited this page Oct 9, 2019 · 3 revisions

Documentation

var elvjs = require('elvjs')
import * as elvjs from 'elvjs'

Load the elvjs API.


elvjs.EventEmitter
var EventEmitter = require('elvjs').EventEmitter
import { EventEmitter } from 'elvjs'

Get the event emitter constructor. This can be used to create custom event emitters, as follows:

var myEmitter = new EventEmitter()

elvjs.events
var events = require('elvjs').events
import events from 'elvjs'

Get the global event emitter. This is just a global instance of EventEmitter created at module load time.


events.addListener(name, once, handler)
events.on(name, handler)
events.once(name, handler)
events.listenOnce(name, handler)

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.


events.removeListener(handle)
events.off(handle)

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.


events.fire(name, arg, ...)
events.emit(name, arg, ...)

Sends a named event, passing whatever arguments are passed to the handler(s) registered for the event.


events.diagnostics()

Dumps diagnostic and stats to console for this emitter.


events.gc()

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);