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

248
Vistas
¿Cómo usar await import () para una función de constructor exportada?

Tengo esto como mi constructor de funciones:

prueba.js

 const myConstructor = function(){ this.hi = 'hi' console.log(this.hi) } export default myConstructor

Y estoy tratando de await import() en test2.js:

prueba2.js

 const test = await import('./test.js') new test()

Esto falla con TypeError: test is not a constructor .

Sin embargo, si lo importo normalmente, funciona bien:

prueba2.js

 import test from './test.js' //const test = await import('./test.js') new test()

^^ imprime hi en la consola.

¿Que esta pasando aqui? ¿Por qué los dos enfoques se comportan de manera tan diferente para las funciones constructoras? Esto no parece suceder para las funciones normales.

Tuve que solucionar esto llamando a la función constructora directamente dentro del módulo de función constructora, y esto no es lo ideal.

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

0

Devoluciones de importación dinámicas :

Devuelve una promesa que cumple con un objeto que contiene todas las exportaciones de moduleName, con la misma forma que una importación de espacio de nombres ( import * as name from moduleName ): un objeto con prototipo nulo y la exportación predeterminada disponible como una clave denominada default.

Si su Promesa solo se resolvió en la exportación predeterminada, no podría usar ninguna exportación con nombre que pueda tener. Así que tú necesitas:

 const testNamespace = await import('./test.js') new testNamespace.default()
about 4 years ago · Juan Pablo Isaza Denunciar

0

El módulo de devolución de importación asíncrona, por lo que debe usar la propiedad .default para acceder a la exportación predeterminada del módulo.

 const test = await import('./test.js').default new test()
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