Is there a way to only allow certain events in a custom eventEmitter
?
For example, if I have something like this everything works as expected:
const EventEmitter = require('events');
class myEvent extends EventEmitter {
constructor() {
super();
var self = this;
setInterval(function() {
self.emit('1stEvent');
}, 1000)
setInterval(function() {
self.emit('2ndEvent');
}, 2000)
}
}
var MyEvent = new myEvent();
MyEvent.on('1stEvent', function () {
console.log('1st Event triggered');
});
MyEvent.on('2ndEvent', function () {
console.log('2nd Event triggered');
});
MyEvent.on('3rdEvent', function () {
console.log('3rd Event triggered');
});
I get a callback every second on the first event and every 2 seconds on the 2nd event. For the 3rd nothing happens, because I don't emit this event. Is there a way that this class tells me that this event is not defined and I cannot add a listener to it, or that it is only possible to add listeners to event 1 and 2?