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

121
Views
NodeJS: UnhandledPromiseRejection cuando se rechaza la promesa antes de esperar

Tengo dos promesas sin bloques catch al principio y estoy esperando en ambas más tarde con bloques catch . Segunda promesa reject antes de la primera promesa resolve . Entonces, mientras todavía estoy await la primera promesa, la segunda promesa es reject y dado que aún no adjunté la catch , bloquea el servidor con UnhandledPromiseRejection .

¿Hay alguna manera de hacer que el reject de p2 se propague para await p2 , como lo hace en caso de que p2 resolve s?

PD: No puedo adjuntar el retén al principio.

Agregar el código a continuación para referencia. En stackoverflow funciona bien por alguna razón, pero cuando se ejecuta desde local, el servidor falla.

 async function main() { console.log("starting"); let p1 = new Promise((resolve, reject) => { console.log('p1 sleeping'); setTimeout(function() { console.log('p1 awake'); resolve('p1 resolved'); }, 5000); }); let p2 = new Promise((resolve, reject) => { console.log('p2 sleeping'); setTimeout(function() { console.log('p2 awake'); reject('p2 rejected'); //IMPORTANT }, 1000); }); //Below line takes 5 seconds to execute. //But p2 throws error after 1 second because no .catch() is attached to it yet. let out1 = await p1.catch(e => { console.log('p1 errored', e) }); console.log('p1 output', out1); let out2 = await p2.catch(e => { console.log('p2 errored', e) }); console.log('p2 output', out2); } main().then(() => { console.log('stopped') });

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

0

Si ejecuta su código en la consola de desbordamiento de pila, aún arroja un UnhandledPromiseRejection de promesa no controlada porque no está manejando el rechazo de la promesa (puede ver el error en las herramientas de desarrollo de su navegador).

Debería intentar usar Promise.all o manejar cada resultado de Promise con then() y catch() .

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!