我在node.js中创建了一个事件但是当我尝试触发事件并将参数传递给回调时,我得到eventEmitter("dataIn", null, message); TypeError: object is not a function
。查看类似的堆栈溢出问题,问题是没有使用new
来创建eventEmitter,但我是。
首先我设置了活动。
var events = require('events').EventEmitter;
var eventEmitter = new events();
然后我设置了回调。
function dataIn(config, callback) {
if(typeof callback === 'function') {
/* Set the callback for the dataIn event. */
eventEmitter.on("dataIn", callback);
/* More code below. */
最后,当我尝试发出事件时,我得到了类型错误。
var message = {
"type": "REQUEST"
}
var rtrn = eventEmitter("dataIn", null, message);
if(rtrn === false) {
console.log('Error triggering event');
}
答案 0 :(得分:1)
EventEmitter实例不是函数;你试图把它称为好像。您需要调用.emit()
方法:
eventEmitter.emit("dataIn", null, message);