‫Instructor: En el último
‫par de conferencias, espero que haya comenzado
‫a obtener los fundamentos del desarrollo Express.
‫Entonces, ahora es el momento perfecto para profundizar un poco
‫más en cómo funciona
‫Express, y para eso necesitamos hablar sobre el
‫middleware y el ciclo de solicitud-respuesta.
‫Entonces, realmente la esencia del desarrollo Express
‫es comprender
‫y luego usar el ciclo de solicitud-respuesta.
‫Así que quiero dejar esa idea
‫realmente clara de manera visual en este video.
‫Entonces, para comenzar el ciclo de solicitud-respuesta,
‫o la aplicación Express recibe una solicitud cuando alguien llega a un
‫servidor para el que luego creará un objeto
‫de solicitud y respuesta.
‫Luego, esos datos se
‫utilizarán y procesarán para generar y enviar una respuesta significativa.
‫Ahora, para procesar esos datos,
‫en Express usamos algo llamado middleware, que
‫puede manipular la solicitud o el objeto de respuesta.
‫O realmente ejecutar cualquier otro código que nos guste.
‫Por lo tanto, el middleware no siempre
‫tiene que tratarse solo de la solicitud o del objeto
‫de respuesta, sino que generalmente se trata principalmente de la solicitud.
‫Y de hecho, ya usamos middleware antes.
‫Usamos Express dot JSON para obtener acceso al cuerpo de la solicitud en el
‫objeto de la solicitud.
‫¿Recuérdalo?
‫Ahora se llama middleware, recuerda porque
‫es una función que se ejecuta entre, por lo
‫tanto, en medio de recibir la solicitud
‫y enviar la respuesta.
‫Y de hecho, podemos decir que en
‫Express, todo es middleware.
‫Incluso nuestras definiciones de ruta.
‫Entonces, nuevamente, incluso cuando definimos nuestras rutas, podemos pensar
‫en las funciones del controlador de ruta que escribimos como
‫funciones de middleware.
‫Son simplemente funciones de
‫middleware que solo se ejecutan para determinadas rutas.
‫¿Okey?
‫Ahora, algunos ejemplos de middleware son Express dot JSON,
‫que también se llama body-parser, y
‫que ya usamos antes.
‫O alguna funcionalidad de
‫registro, o configurar algunos encabezados http específicos.
‫Las posibilidades son realmente infinitas con el middleware.
‫Muy bien, y ahora en términos más
‫técnicos, decimos que todo el middleware
‫que usamos
‫en nuestra aplicación se llama Middleware Stack.
‫Lo que es muy importante tener en cuenta aquí
‫es que el orden del middleware en la pila
‫se define en realidad por el orden en
‫que se definen en el código.
‫Entonces, un middleware que aparece primero en el
‫código, se ejecuta antes que uno que aparece más tarde.
‫Por eso, el orden del código es muy importante en Express.
‫¿Okey?
‫Ahora, puede pensar en todo el proceso de esta manera,
‫nuestro objeto de solicitud y
‫respuesta que se creó
‫al principio pasa por cada middleware donde se procesa,
‫o donde solo se ejecuta algún otro código.
‫Luego, al final de cada función de middleware, se llama
‫a la siguiente función, que es
‫una función a la que tenemos acceso en
‫cada función de middleware.
‫Al igual que los objetos de solicitud y respuesta.
‫Y, por supuesto, lo veremos en código en el siguiente video.
‫Entonces, cuando llamemos a la siguiente
‫función, el próximo middleware de la pila se
‫ejecutará exactamente con el mismo objeto de solicitud y respuesta.
‫Y eso pasa con todos los middlewares
‫hasta que llegamos al último.
‫Y así, así,
‫la solicitud inicial y el objeto de
‫respuesta pasan por cada middleware paso a paso.
‫Y puede pensar en todo este
‫proceso como una especie de canalización por la que pasan nuestros datos,
‫de la misma forma que se canaliza desde la solicitud hasta la respuesta final.
‫¿Está bien?
‫Ahora, sobre la última función de middleware,
‫generalmente es un controlador de ruta tal como lo codificamos antes.
‫Entonces, en este controlador, en realidad no llamamos a la siguiente
‫función para pasar al siguiente middleware.
‫En cambio, finalmente enviamos los datos
‫de respuesta al cliente.
‫Y
‫así, luego terminamos el llamado ciclo de solicitud-respuesta.
‫Entonces, el ciclo de solicitud-respuesta es realmente todo
‫lo que hablamos aquí juntos.
‫Comienza con la solicitud entrante, luego
‫ejecuta todo el middleware en la pila de
‫middleware paso a
‫paso y finalmente envía la respuesta para finalizar el ciclo.
‫Verá, realmente no es complicado.
‫En realidad, es solo un proceso lineal.
‫Pero desearía que alguien me hubiera mostrado algo
‫como esto cuando estaba aprendiendo a crear aplicaciones Express.
‫Quiero decir que
‫podría construirlos, pero al principio realmente no
‫entendía todo este ciclo de solicitud-respuesta como este.
‫Fue muy confuso.
‫Por eso les muestro esto, porque
‫creo que será mucho, mucho más fácil para ustedes
‫pasar al curso ahora,
‫después de comprender exactamente cómo funcionan las aplicaciones Express.