0

I just wonder if the following code is supposed to work:

// my-class.js

const EventEmmiter = require('events')

class MyClass extends EventEmmiter {
  constructor () {
    super()
  }

  trigger () {
    console.log('trigger')
    this.emit('foo')
  }
}

module.exports = MyClass


// test.js
const MyClass = new (require('./my-class'))

MyClass.trigger()

MyClass.on('foo', () => {
  console.log('event emited')
})

// result: "trigger"

As you can see, the even handler MyClass.on('foo') doesn't get called. Is there a way to register event listeners outside of the file emitting the event?

Andrei Stalbe
  • 1,511
  • 6
  • 26
  • 44

0 Answers0