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

106
Visualizações
Almacene el objeto en la memoria desde un método asíncrono

Estoy tratando de almacenar un objeto en la memoria en Node.js. Este objeto se crea a partir de un método asíncrono que es una llamada a una API. La cuestión es que solía ser un objeto síncrono que muchas partes de la aplicación están importando, pero ahora es asíncrono. Lo que estoy tratando de hacer es cargar este objeto en la memoria cuando inicializo la aplicación para que los archivos que están importando el objeto síncrono no necesiten ser refactorizados.

Ejemplo:

 // Settings.js class Settings { async build() { setTimeout(() => { return { app: 'settings' } }, 1000) } } //index.js - store object in memory when application is initialized const intializeApp = async () => await new Settings().build() //randomFile.js import Settings from 'settings.js' //importing object {app: 'settings'}

¿Cómo lograría esto?

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

0

Debe almacenar la configuración y exponer una forma de acceder a ella. Dado que está utilizando clases, puede proporcionar un método de obtención:

 // Settings.js class Settings { async build() { return new Promise(resolve => { setTimeout(() => { this.settings = { app: 'settings' }; resolve(); // so the async function can tell when the timeout is done }, 1000); } } get() { return this.settings; } } // Need to create one instance so it's shared between all the files that it's imported export default new Settings(); //index.js - store object in memory when application is initialized const intializeApp = async () => await Settings().build() //randomFile.js import Settings from 'settings.js' const settings = Settings.get(); console.log(settings); // logs object {app: 'settings'}

Y si está de acuerdo con get sea asíncrono, podría hacer que se inicialice perezosamente si aún no hay configuraciones:

 async get() { if (!this.settings) await this.build(); return this.settings; }
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