事件发射器,对象不是function

我在node.js中创build了一个事件,但是当我尝试触发事件并将parameter passing给callback时,我得到eventEmitter("dataIn", null, message); TypeError: object is not a function eventEmitter("dataIn", null, message); TypeError: object is not a function 。 看着类似的堆栈溢出问题的问题是不使用new创buildeventEmitter,但我是。

首先,我设置了事件。

  var events = require('events').EventEmitter; var eventEmitter = new events(); 

然后我设置callback。

  function dataIn(config, callback) { if(typeof callback === 'function') { /* Set the callback for the dataIn event. */ eventEmitter.on("dataIn", callback); /* More code below. */ 

最后,当我尝试发出事件,我得到types错误。

 var message = { "type": "REQUEST" } var rtrn = eventEmitter("dataIn", null, message); if(rtrn === false) { console.log('Error triggering event'); } 

EventEmitter实例不是一个函数; 你正试图把它称为它。 您需要调用.emit()方法:

 eventEmitter.emit("dataIn", null, message);