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

147
Vistas
¿Cómo interceptar un error en una promesa con async/await?

En un proyecto de NodeJs, llamo a mi función asíncrona de esta manera:

 const response = await myFunction();

Aquí está la definición de la función:

 myFunction = async () => { return await new Promise((next, fail) => { // ... axios({ method: 'get', url: apiEndpoint, data: payload }).then(function (response) { // ... next(orderId); }).catch(function (error) { fail(error); }); }); }

¿Cómo debo interceptar correctamente un error si eso sucede? es decir, ¿cómo lo manejo cuando espero la función?

EDITAR: según lo solicitado, un fragmento más completo:

 import express from 'express'; import { helpers } from '../helpers.js'; const router = express.Router(); router.post('/createOrder', helpers.restAuthorize, async (req, res) => { // ... const orderId = await api.createOrder(); let order = { buyOrderId: orderId } const placed = await api.checkPlaced(orderId); if (placed) { let ack = await api.putAck(orderId); order.checksum = placed.checksum; order.ack = ack; } InternalOrder.create(order, (error, data) => { if (error) { return res.status(500).send({ message: error }); } else { res.json("ok"); } }) }) export { router as exchangeRouter }
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puede lograrlo y simplificarlo con un bloque try-catch , dependiendo de cómo quiera manejar el error

 async function myFunction () { try { const response = await axios({ method: 'get', url: apiEndpoint, data: payload }) // ... do something with response } catch (error) { // ... do something with error } }

Pero si desea encadenar promesas en su función, puede devolver directamente la llamada axios

 function myFunction () { return axios({ method: 'get', url: apiEndpoint, data: payload }) } // ... myFunction().catch(e => { // ... do something with the error })
about 4 years ago · Juan Pablo Isaza Denunciar

0

Usa probar/atrapar:

 let response; try { response = await myFunction(); } catch (error) { // Handle error here. }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Tu puedes hacer

 try { const response = await axios({ method: 'get', url: apiEndpoint, data: payload }) next(orderId); } catch (error) { fail(error) }
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