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?