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

128
Vistas
¿Cómo es esto un rechazo de promesa no controlado dentro de un bloque de captura de prueba?
router.post("/login", async (req, res) => { try { const user = await User.findOne({ username: req.body.username }); !user && res.status(401).json("Invalid credentials!"); const hashedPassword = CryptoJS.AES.decrypt( user.password, process.env.PASS_SEC ); const originalPassword = hashedPassword.toString(CryptoJS.enc.Utf8); originalPassword !== req.body.password && res.status(401).json("Invalid credentials!"); const { password, ...others } = user._doc; res.status(200).json(others); } catch (error) { res.status(500).json(error.message); } });

Cuando publico un nombre de usuario incorrecto o una contraseña incorrecta, ¡obtengo las Invalid Credentials! de la respuesta HTTP correcta !

Sin embargo, recibo un error de rechazo de promesa no controlado en el registro de mi consola.

(nodo: 12080) UnhandledPromiseRejectionWarning: Error [ERR_HTTP_HEADERS_SENT]: no se pueden establecer encabezados después de enviarlos al cliente en ServerResponse.setHeader (_http_outgoing.js:561:11) en ServerResponse.header (C:\Users\dinin\Projects\testexpress2 \node_modules\express\lib\response.js:771:10) en ServerResponse.send (C:\Users\dinin\Projects\testexpress2\node_modules\express\lib\response.js:170:12) en ServerResponse.json ( C:\Users\dinin\Projects\testexpress2\node_modules\express\lib\response.js:267:15) en C:\Users\dinin\Projects\testexpress2\routes\auth.js:24:21 en processTicksAndRejections (interno /process/task_queues.js:95:5) (node:12080) UnhandledPromiseRejectionWarning: Rechazo de promesa no manejado. Este error se originó al lanzar dentro de una función asíncrona sin un bloque catch o al rechazar una promesa que no se manejó con .catch(). Para finalizar el proceso del nodo en caso de rechazo de la promesa no controlada, utilice la marca CLI --unhandled-rejections=strict (consulte https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode ). (id de rechazo: 4)

Obviamente está en un bloque try catch. ¿Cómo puedo "manejar" esta promesa correctamente?

about 4 years ago · Juan Pablo Isaza
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