1

我遇到了无法解决的节点模块问题。我有以下三个文件。我已经包含了感兴趣的基本方法,但排除了其余方法和方法的实际内容。

我正在努力解决的问题是,当从 events.js 节点对 event_queue 对象调用 publish_event 方法时,会崩溃并出现以下错误:

FATAL TypeError: Object # has no method 'publish_event', stack: TypeError: Object # has no method 'publish_event' at Events.publish_event (/Users/mburbidg/stormcloud/ccapi/cloud_pipes/node_modules/f5/server/services/event/ events.js:137:15)

我无法弄清楚这一点,您可以看到我可以在我们的系统中使用另一个模块 index.js 中的 EventQueue 对象的方法。我已经检查了几次其他明显的名字。

关于如何进行的任何建议?

文件 1 - f5/server/notifications/sqs_event_queue.js


function EventQueue() {
  this.queue_name = 'notification_queue';
  this.queue_url = null;
  this.sqs = null;
}

EventQueue.prototype.publish_event = function(event_data, registration_id, log, callback) {
...
}

EventQueue.prototype.start = function(callback) {
...
}


module.exports = new EventQueue();

文件 2 - f5/server/index.js


var event_queue = require('f5/server/notifications/sqs_event_queue');

var start_notifications = function()
{
  event_queue.start(on_start);

  function on_start(error)
  {
  }
}

文件 3 - f5/server/services/event/events.js


var event_queue = require('f5/server/notifications/sqs_event_queue');

function Events () {

}

Events.prototype.publish_event = function(event_data, registration_id, log, callback) {
  event_queue.publish_event(event_data, registration_id, log, callback);
};

module.exports = new Events();

4

0 回答 0