【发布时间】:2015-06-06 16:17:33
【问题描述】:
我正在学习 Node Js。我在书中遇到了一段 sn-p 代码,内容如下:
var EventEmitter = require("events").EventEmitter;
var inherits = require('util').inherits;
//Custom class
function Foo(){
EventEmitter.call(this);
}
inherits(Foo, EventEmitter);
Foo.prototype.connect = function(){
this.emit('connected');
}
var foo = new Foo();
foo.on('connected', function(){
console.log("connected raised!');
}
foo.connect();
我的问题是,这里的“调用”是什么?为什么类 Foo 继承自 EventEmitter?这是否意味着 Foo 是 Event Emitter 的孩子?如果是这样,它必须是 EventEmitter 的孩子吗?我在 Stackoverflow 中发现了另一个关于通话的问题 (What does EventEmitter.call() do?) 但是,我不明白所提供的答案...谢谢
代码来源:Basarat Ali Syed 的Beginning Node.js
【问题讨论】:
-
“为什么类 Foo 继承自 EventEmitter?” 因为创建
Foo的人希望它的每个实例都可以触发事件并接受事件订阅。如果它不继承自EventEmitter,则无法调用this.emit或foo.on。 -
我想我宁愿你没有删除你的帖子,我去回答它的麻烦。
-
@Dave Newton 我有答案,这是一个简单的错误......对不起
标签: javascript node.js prototypal-inheritance