有很多示例没有在自定义事件发射器构造函数中使用events.EventEmitter.call(this)
,而其他正在使用它(official documentation):
var events = require('events')
, util = require('util');
var MyEmitter = function () {
events.EventEmitter.call(this);
};
util.inherits(MyEmitter, events.EventEmitter);
MyEmitter.prototype.write = function () {
this.emit('tick');
};
根据我对JavaScript的基本理解,我不知道是否需要它。是否需要调用EventEmitter
中的初始化内容?
答案 0 :(得分:5)
是的,是的。
在节点0.10之前,如果忘记了它,它就不会中断。
现在,it will:
EventEmitter构造函数现在初始化各种属性。它仍然可以作为OOP继承父级正常工作,但您必须正确地继承。扩展EventEmitter类时,Broken-Style JS继承模式将不起作用。这种继承风格从未得到支持,但在0.10之前,它实际上并未中断。