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

247
Views
¿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 answers
Answer question

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 Report

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 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!