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

213
Vistas
exportar el valor esperado como módulo ESM

Acabo de darme cuenta de que lo siguiente funciona en el nodo 14.17.3:

a.js:

 console.log("a.js executes") async function wait(){ console.log('wait runs') return new Promise((resolve, reject)=>{ setTimeout(()=>{resolve("foo")},3000) }) } export default await wait()

b.js:

 import data from './a.js' console.log("b.js executes") export default function test(){ console.log("b.js: imported from a.js:",data) }

c.js:

 import data from './a.js' console.log("c.js executes") export default function test(){ console.log("c.js: imported from a.js:",data) }

d.js:

 import test_b from './b.js' import test_c from './c.js' test_b() test_c()

Cuando ejecuto d.js , obtengo el siguiente resultado, mientras que hay un retraso de 3 segundos entre la segunda y la tercera línea:

 a.js executes wait runs b.js executes c.js executes b.js: imported from a.js foo c.js: imported from a.js: foo

Esto es exactamente lo que quiero, pero no entiendo por qué funciona. El cargador de módulos parece esperar a que se resuelva la función de wait asíncrona, antes de ejecutar b.js y c.js e importar el valor resuelto a los módulos.

Apuesto a que esto no funcionó hace un par de años.

¿Alguien podría decirme cómo se llama esta función? ¿Es una característica del propio ES o del sistema de carga de módulos del nodo?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Se llama await de nivel superior. Hay una clara explicación de esto aquí , en la segunda opción.

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