Search code examples
javascriptjsoneventsnode.js

Listen to All Emitted Events in Node.js


In Node.js is there any way to listen to all events emitted by an EventEmitter object?

e.g., can you do something like...

event_emitter.on('',function(event[, arg1][, arg2]...) {}

The idea is that I want to grab all of the events spit out by a server side EventEmitter, JSON.stringify the event data, send it across a websockets connection, reform them on the client side as an event, and then act on the event on the client side.


Solution

  • As mentioned this behavior is not in node.js core. But you can use hij1nx's EventEmitter2:

    https://github.com/hij1nx/EventEmitter2

    It won't break any existing code using EventEmitter, but adds support for namespaces and wildcards. For example:

    server.on('foo.*', function(value1, value2) {
      console.log(this.event, value1, value2);
    });