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

150
Visualizações
Evite las dependencias circulares: ¿reemplazar la importación por eventos?

Estoy dividiendo un código de archivo en varios y me encuentro con algunas dependencias circulares.

Algunos de ellos, puedo evitarlos refactorizando un poco, otros parecen más complicados o simplemente no tendrían sentido para mí, ya que la refactorización probablemente significará tener que juntar una gran cantidad de código en el mismo archivo en lugar de dividiéndolo por características/funcionalidades.

He visto otros componentes que usan eventos para comunicarse entre módulos y pensé que podría usar esta misma técnica para evitar la dependencia circular, pero... No estoy seguro de si esto es solo un truco desagradable en lugar de la forma correcta de haciéndolo.

Entonces, por ejemplo, tener lo siguiente:

 import { sayHi } from 'introductions.js'; export function demo(){ // stuff here sayHi(stuff); // circular dependency here }

Estaba pensando en cambiarlo por lo siguiente:

 export function demo(){ // do stuff here emit('sayHi', stuff); // event here, avoiding the import }
 //introductions.js import { whatever } from './whatever.js'; on('sayHi', function(stuff){ sayHi(stuff); }); function sayHi(stuff){ console.log("Hi " + stuff); } ...

¿Sería esta una solución adecuada? ¿O simplemente un feo truco para "eliminar" la dependencia circular?

about 4 years ago · Juan Pablo Isaza
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