¿Cuál es el uso de la función next() en Express.js?

Express.js es un marco poderoso para node.js. Una de las principales ventajas de este marco es definir diferentes rutas o middleware para manejar las diferentes requests entrantes del cliente. En este artículo, discutiremos el uso de la función next() en cada middleware de express.js.

Hay muchas funciones de middleware en Express.js, como la función app.use() de Express.js , y muchas más. El middleware app.use() se usa básicamente para definir el controlador de la solicitud particular realizada por el cliente.

Sintaxis:

app.use(path,(req,res,next))

Parámetros: Acepta los dos parámetros mencionados anteriormente y descritos a continuación:

  • ruta: Es la ruta por la que se llama a la función de middleware. Puede ser una string que represente una ruta o un patrón de ruta o un patrón de expresión regular para que coincida con las rutas.
  • devolución de llamada: es la función de devolución de llamada que contiene el objeto de solicitud, el objeto de respuesta y la función next() para llamar a la siguiente función de middleware si la respuesta del middleware actual no finaliza. En el segundo parámetro, también podemos pasar el nombre de la función del middleware.

Módulo de instalación: Instale el módulo express usando el siguiente comando.

npm install express

Estructura del proyecto: Se verá así.

Ejemplo 1: Servidor sin función next()

Nombre de archivo: index.js

Javascript

// Importing the express module
const express = require("express");
const app = express()
 
// Creating First Middleware
app.use("/", (req, res, next) => {
    console.log("Hello");
    // There is no next() function calls here
})
 
// Creating second middleware
app.get("/", (req, res, next) => {
    console.log("Get Request")
})
 
// Execution the server
app.listen(3000, () => {
    console.log("Server is Running")
})

Ejecute el archivo index.js usando el siguiente comando:

node index.js

Salida: sin la función next(), el middleware no llama al siguiente middleware, incluso si solicita una ruta del mismo

Server is Running
Hello

Ejemplo 2: Servidor con función next()

Nombre de archivo: index.js

Javascript

// Importing the express module
const express = require("express");
const app = express()
 
// Creating First Middleware
app.use("/", (req, res, next) => {
    console.log("Hello");
    // The next() function called
    next();
})
 
// Creating second middleware
app.get("/", (req, res, next) => {
    console.log("Get Request")
})
 
// Execution the server
app.listen(3000, () => {
    console.log("Server is Running")
})

Ejecute el archivo index.js usando el siguiente comando:

node index.js

Producción:

Server is Running
Hello
Get Request

Publicación traducida automáticamente

Artículo escrito por zack_aayush y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *