У меня 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";
Что я делаю не так?