Sobes.tech
Junior

¿Cómo se puede manejar un error (rechazo) de una promesa en una función asíncrona?

sobes.tech AI

Respuesta de la IA

Se puede usar try...catch.

async function processData() {
  try {
    const result = await fetchData(); // fetchData() puede devolver una promesa que será rechazada
    console.log('Datos obtenidos con éxito:', result);
  } catch (error) {
    console.error('Error al obtener datos:', error);
    // Aquí se pueden realizar acciones adicionales para manejar el error
    // Por ejemplo, mostrar un mensaje al usuario o registrar un log
  }
}

// Método alternativo con .catch() (menos común en async/await)
async function processDataAlt() {
  await fetchData()
    .then(result => {
      console.log('Datos obtenidos con éxito:', result);
    })
    .catch(error => {
      console.error('Error al obtener datos:', error);
    });
}

El uso de try...catch es más preferido e idiomático para async/await. Permite centralizar el manejo de errores en un solo bloque y se ve más sincrónico.