¿Cuándo usar next() y devolver next() en Node.js?

En este artículo veremos cuándo usar next() y devolver next() en NodeJS.

Características:

  • next() : ejecutará o ejecutará el código después de que finalice toda la función de middleware .
  • return next() : Al usar return next saltará la devolución de llamada inmediatamente y el código debajo de return next() será inalcanzable.

Sintaxis:

next()
return next()
app.use((req, res, next) => {
//next() or return next()
});

En la función app.use((req, res, next), tenemos tres devoluciones de llamada, es decir, solicitud, respuesta y siguiente .

Entonces, si desea usar next(), simplemente escriba next() y si desea usar return next, simplemente escriba return next().

Entendamos estos dos con un ejemplo.

Uso de next(): si tiene alguna función de middleware y debajo de next() tiene algunas líneas o funciones que desea ejecutar, luego, al usar next() , puede ejecutar las líneas o funciones porque ejecuta el código siguiente .() después de que todas las funciones de middleware hayan terminado.

Uso de return next(): si tiene alguna función de middleware y debajo de return next() tiene algunas líneas que desea ejecutar, entonces las líneas que están debajo de return next() no se ejecutarán porque saltarán del devolución de llamada inmediatamente y el siguiente código return next() en la devolución de llamada será inalcanzable. 

Ejemplo: configurar el entorno

npm init -y
    Instalación de dependencias
npm install express

Javascript

import express from "express"
  
const app = express()
// API for the testing of next() 
app.get(
  '/next', function (req,res,next) { 
    console.log('hi there ');
    next();
    console.log('you are still here');
  }
)
  
// API for the testing of return next() 
app.get(
  '/return-next', function (req,res,next) { 
    console.log('hi there');
    return next(); 
    console.log('you are still here');
  }
)
  
app.listen(5000,()=> {
  console.log("App is running on port 5000")
})

Producción :

  1. next(): Presiona ‘http://localhost:5000/next’ en tu navegador.

    Aquí, la línea que está debajo de next() se ejecuta con éxito y se muestra » todavía estás aquí » en la salida.

  2. return next(): Presiona ‘http://localhost:5000/return-next’ en tu navegador.

    Aquí, la línea que está debajo de return next() no se ejecuta y » todavía estás aquí » no se muestra en la salida.

Publicación traducida automáticamente

Artículo escrito por priyanshugupta627 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 *