Реализация Once () вставляет функцию g () для удаления вашего слушателя после одного вызова.
Из events.js:
EventEmitter.prototype.once = function(type, listener) {
if ('function' !== typeof listener) {
throw new Error('.once only takes instances of Function');
}
var self = this;
function g() {
self.removeListener(type, g);
listener.apply(this, arguments);
};
g.listener = listener;
self.on(type, g);
return this;
};
Итак, если бы вы сделали это:
console.log(e.listeners("5")[0].listener);
они были бы одинаковыми.