Diseño de APIs con Node.js
🔥 Nuevo Curso: Programa Snake desde cero con JavaScript 🔥

Configurar express Para Que Utilize Middlewares de Errores

Descripción

* Mediante app.use() le decimos a express que nuestros middlewares para manejo de errores deben ser usados
* Envolvemos a nuestras rutas de productos con la función procesarErrores()
* Las funciones que usan a async / await siempre retornan una promesa implícitamente. Es decir, incluso cuando no tienen un return que tu veas pues siempre retornarán una promesa. Así es como funciona async / await internamente en JavaScript. Esto nos hace la vida más fácil, ya que la función procesarErrores() necesita que la ruta regrese una promesa.
* Al envolver a una función async / await en procesarErrores podemos borrar los try / catches y los catch() de las llamadas asíncronas
* En este video también envolvemos a las rutas de usuarios con la función procesarErrores()
* En la ruta para crear usuarios tenemos que hacer algunos cambios para asegurarnos que los errores siempre sean procesados. Debemos eliminar las promesas profundas y simplemente usar una cadena de then(). Recuerda que un then() siempre retorna una promesa también.
* En esta ruta también debemos usar un error customizado. Como expliqué en el video, nuestro return y res.send() no están teniendo ningún efecto. Debemos lanzar un error para que el detener la ejecución en el then() e ir al catch()