Совместное использование eventEmitter в приложении NodeJs - PullRequest
0 голосов
/ 20 сентября 2019

У меня 3 файла.Первый файл - это модуль для совместного использования EventEmitter с приложением.

//eventshare.js
var util = require("util");
var EventEmitter = require('events');
var emitter = new EventEmitter();

emitter.on("event1",require('./softwares/software/mapper'));
emitter.on("event2",require('./softwares/software/update'));
emitter.on("teste",()=>{
  console.log("Evento teste");
})
module.exports = emitter;

Основной файл:

//cron.js
require('dotenv').config();
var pool = require('./database/connection');
const events = require('./eventshare');
var cron = require('node-cron');

console.log("events",events);

function getIntegrationData(){
    //...Some code
    events.emit("event1",data)
}
getIntegrationData();

И после большого количества процессов

//send.js
const axios = require('axios');
const fs = require("fs");
const events = require('../../eventshare');
axios.defaults.headers.common['Accept']="application/json";


function send(apiUrl,apiKey,immobileData,immobieId,realstateId){
    let url = 'myposturl'

    axios.post(url,immobileData)
      .then(result=>{
        if(result.status===200){
            console.log("result.status 200")
            events.emit("event2",{
                result:result.data,
                immobileId:immobieId,
                realstateId:realstateId
            });
        }
      })
      .catch(error=>{
          console.log(error)
      });
}
module.exports = send;

Когда мое приложение достигает файла send.js, оно выдает ошибку:

"events.emit is not a function";

Что я делаю не так?

...