gpt4 book ai didi

node.js - 对象没有方法 'on'( Node 中的 EventEmitter)

转载 作者:搜寻专家 更新时间:2023-10-31 23:42:48 27 4
gpt4 key购买 nike

我的例子:

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');

然后在控制台错误:对象没有方法

请帮帮我

最佳答案

根据documentation , inherits 方法需要构造函数和 super 构造函数的参数。您已经提供了一个对象和一个 super 构造函数。

请注意以下内容未经测试:

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');

关于node.js - 对象没有方法 'on'( Node 中的 EventEmitter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25512188/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com