/eventemitter3

EventEmitter3 - Because there's also a number 2. And we're faster.

Primary LanguageJavaScriptMIT LicenseMIT

EventEmitter3

Version npmBuild StatusDependenciesCoverage StatusIRC channel

EventEmitter3 is a faster alternative to EventEmitter2 and the built-in EventEmitter that ships within Node.js. It removes some features that you might not need:

  • Domain support.
  • Thrown errors when there are no error listeners specified.
  • ThenewListener event that is emitted any time a listener is added.
  • No silly setMaxListeners, the function exists, but does nothing.
  • No silly listenerCount function. Just do EventEmitter.listeners(event).length

And adds some features you might want:

  • Emit events with a custom context without binding: EE.on(event, fn, context) which also works with once EE.once(event, fn, context)

It's a drop in replacement for existing EventEmitters, but just faster. Free performance, who wouldn't want that?

The source of the EventEmitter is compatible for browser usage, no fancy pancy Array.isArray stuff is used, it's just plain ol' JavaScript that should work even with IE5.

Installation

$ npm install --save eventemitter3        # npm
$ component install primus/eventemitter3  # Component
$ bower install primus/eventemitter3      # Bower

Usage

var EventEmitter = require('eventemitter3');

// or

var EventEmitter = require('eventemitter3').EventEmitter;

For API methods see the official Node.js documentation:

http://nodejs.org/api/events.html

License

MIT