5

有很多示例未events.EventEmitter.call(this)在自定义事件发射器构造函数中使用,而其他示例正在使用它(官方文档):

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

4

1 回答 1

5

是的。

在 Node 0.10 之前,如果您忘记这一点,它也不会中断。

现在,它将

EventEmitter 构造函数现在初始化各种属性。它作为 OOP 继承父级仍然可以正常工作,但是您必须正确地进行继承。扩展 EventEmitter 类时,Broken-Style JS 继承模式将不起作用。这种继承风格从未受到支持,但在 0.10 之前,它实际上并没有中断。

于 2013-05-21T16:02:20.043 回答