我的例子:
var Common= {
http: require("http"),
url : require("url"),
fs : require("fs"),
util : require("util"),
event : require("events")
}
var someobj ={name:'sasha'}
Common.util.inherits(someobj,Common.event.EventEmitter)
someobj.on('onparse',function(data){
console.log(data + this.name);
});
someobj.emit('onparse','super log from');
然后在控制台错误中: 对象没有方法
请帮帮我。
答案 0 :(得分:4)
根据documentation,inherits
方法需要构造函数和超级构造函数的参数。您提供了一个对象和一个超级构造函数。
请注意,以下内容未经测试:
var Common= {
http: require("http"),
url : require("url"),
fs : require("fs"),
util : require("util"),
event : require("events")
}
// Create a constructor function for the object
var SomeClass = function(name) {
this.name = name;
Common.event.EventEmitter.call(this);
}
// Inherit the EventEmitter prototype
Common.util.inherits(SomeClass, Common.event.EventEmitter);
// Create the new object
var someobj = new SomeClass('Sasha')
someobj.on('onparse', function(data){
console.log(data + this.name);
});
someobj.emit('onparse', 'super log from');