Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

200
Visualizações
Emite un evento cuando cambia una variable

Quiero emitir un evento cada vez que cambia la variable pero no funciona.

Aquí está el módulo:

 const EventEmitter = require("events"); const watcher = new EventEmitter(); let variable = 0; let previous = 0; function reassign(value) { variable = value; } module.exports = watcher; module.exports.reassign = reassign; while (true) { if (variable !== previous) { watcher.emit("change", previous, variable); previous = variable; } else console.log(variable); // output: 0 }

Aquí está el archivo principal:

 const watcher = require("./watcher.js"); watcher.on("change", (prev, variable) => { console.log(prev, variable); }); watcher.reassign(10);

El problema es que la función reasign() no modifica la variable. ¿Alguna sugerencia?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Una solución simple sería cambiar module.exports . En lugar de declarar todas las exportaciones como la clase de observador, coloque ambas dentro de un objeto y declárelas por separado.

Ejemplo:

 const EventEmitter = require("events"); const watcher = new EventEmitter(); let variable = 0; /** * Reassign the variable * @param value The new value */ function reassign(value) { watcher.emit("change", variable, value); variable = value; } module.exports = { watcher, reassign };
 const functions = require("./watcher.js"); const watcher = functions.watcher; watcher.addListener("change", (prev, variable) => { console.log(`Old value: ${prev}, New value: ${variable}`); }); functions.reassign(10);
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda