Se puede “catchear” errores de promesas de dos formas nativas en JavaScript.
- Seria usar try/catch como lo hicieron en esta lección.
- Otra seria usar .then().catch(), el then es una función que como parametro tiene el resultado correcto de la promesa, y el catch es lo mismo pero cuando la promesa tuvo un error.
Ahora, fuera de lo nativo de JS, hay otras formas, una que particularmente me gusta es una biblioteca llamada “await-to-js”, la pueden encontrar en el siguiente enlace: await-to-js
Con esta library, envolvemos la promesa en una función llamada “to”, y esta nos retorna un arreglo de dos objectos, en la posición 0 un objeto de error, si la promise salió mal, y en la posición 1, el objeto resultado de la respuesta correcta de la promise.
import to from 'await-to-js' // Importan la library
const [error, response] = await to(fetch("http://...")) // Envuelven la promesa
Luego podrían manejar el error de la siguiente forma:
if (error) {
// Manejar el error
return { statusCode: error.status }
}
// Usar el response para lo que sea nesecario, ya que no existe ningún error.
// Por ej:
return { data: response.data, statusCode: response.status }
Espero les sirva 😃
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?