Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

114
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda