Я занимаюсь обучением себе node.js путем создания личного проекта. Я стараюсь следовать лучшим практикам, разбивая мой код на отдельные модули. Однако я столкнулся с проблемой, когда один из моих модулей обменивается данными с модулем вызывающего абонента. Я использовал функции обратного вызова и события, но модуль вызывающего абонента никогда не получает ничего от вызываемого модуля, если вызываемый модуль сразу не возвращает значение. Пожалуйста, посмотрите на приведенный ниже код и дайте мне знать, что я пропускаю:Модуль Node.js не сообщается
blogs.controller.js (модуль абонентах)
var ImageParser = require('../../components/parsers/ImageParser.js');
.....
var imageParser = new ImageParser();
imageParser.on('imagesParsed', function(){
console.log('test)});
ImageParser.js (так называемый модуль)
var EventEmitter = require('events').EventEmitter;
var util = require('util');
var ImageParser = function(){
this.emit('imagesParsed');
};
util.inherits(ImageParser, EventEmitter);
module.exports = ImageParser;
Внутри функции ImageParser я могу слушать событие, но за его пределами я не могу. Любая помощь будет принята с благодарностью.
Благодаря
Вы настроили обработчик для «imagesParsed», но код выдает событие под названием «imagesParse». – Pointy
Кроме того, испускание события изнутри конструктора не имеет большого смысла. – Pointy
Спасибо, что поймали это. Это была просто опечатка, хотя и не в моем фактическом коде. – trevpry