Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

145
Views
Express está escuchando antes de que glob termine de pasar por los archivos de ruta

en mis clases js tengo rutas para que express las use en la propiedad de route

mi problema es que express comienza a escuchar antes de que las rutas terminen de cargarse a través de glob :

 glob("pages/**/*.js", (error, file) => { import("./" + file).then((page) => { console.log(new page.default().route); }); }); app.listen(config.port, () => console.log(`App listening on http://localhost:${config.port}`) );

Aquí está la salida de mi consola:

 node index.js App listening on http://localhost:1337 { uri: '/users' }

observe cómo la línea uri viene DESPUÉS app listening cuando debería ser antes

También probé usando glob.sync y pasa lo mismo

¿Cómo hago que el código espere a que los archivos de ruta terminen de cargarse antes de que app.listen dispare?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puedes resolver esto con glob.sync .

 const pages = glob("pages/**/*.js") for (pageName of pages) { const page = await import("./" + pageName) console.log(new page.default().route) } app.listen(config.port, () => console.log(`App listening on http://localhost:${config.port}`) )

Debido a que import() es asíncrono, devuelve una Promesa, que está esperando usando .then(...), que no está bloqueando. Al usar await, el código espera a que se importe el módulo.

Deberá hacer esto en un entorno que admita espera de nivel superior o dentro de una función asíncrona. Ejemplo:

 async function startApp() { // const pages = ... } startApp()

Lea más sobre las promesas aquí: https://www.w3schools.com/js/js_promise.asp

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!