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

376
Views
Node.js muestra un error poco claro al usar 'await' sin 'async'

Tuve un error con este código.

 exports.getResults = (req, res) => { status = await miDealApi.getResults() res.json({ status: status }) }

El problema fue que usé 'esperar' sin declarar el método como 'asincrónico', pero el error que Node.js me estaba dando no estaba claro y no me ayudó a resolverlo en absoluto.

 internal/modules/cjs/loader.js:999 throw err; ^ [wrapSafe (internal/modules/cjs/loader.js:979:16),Module._compile (internal/modules/cjs/loader.js:1027:27),Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10),Module.load (internal/modules/cjs/loader.js:928:32),Function.Module._load (internal/modules/cjs/loader.js:769:14),Module.require (internal/modules/cjs/loader.js:952:19),require (internal/modules/cjs/helpers.js:88:18),Object.<anonymous> (C:\Users\user\Documents\DT\projects\suresort-manager\controllers\waveFactory.js:6:30),Module._compile (internal/modules/cjs/loader.js:1063:30),Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)] PS C:\Users\user\Documents\DT\projects\suresort-manager>

¿Hay algo que pueda hacer para que errores como este sean más claros en el futuro?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Una posibilidad es que su versión de node.js sea un poco más antigua y, por lo tanto, no le dé el error adecuado.

Ejecutando con Node 12 obtengo:

 /project/foo.js:2 status = await miDealApi.getResults() ^^^^^ SyntaxError: await is only valid in async function at wrapSafe (internal/modules/cjs/loader.js:915:16) at Module._compile (internal/modules/cjs/loader.js:963:27) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.load (internal/modules/cjs/loader.js:863:32) at Function.Module._load (internal/modules/cjs/loader.js:708:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12) at internal/main/run_main_module.js:17:47

Entonces, ¿es posible que desee verificar su versión?

 node -v 12.21.0

Siempre debe intentar trabajar con al menos la versión estable.

over 4 years ago · Santiago Trujillo Report

0

Tenga en cuenta: await tiene que usarse con async .

Una función asíncrona es una función declarada con la palabra clave async , y la palabra clave await está permitida dentro de ellas. Las palabras clave async y await permiten que el comportamiento asincrónico basado en promesas se escriba en un estilo más claro, lo que evita la necesidad de configurar explícitamente cadenas de promesas.

Cambie su código como a continuación:

 exports.getResults = async (req, res) => { status = await miDealApi.getResults() res.json({ status: status }) }

Feliz codificación :)

over 4 years ago · Santiago Trujillo 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!