Maison > Questions et réponses > le corps du texte
Je travaille avec Nodejs et j'utilise expressjs et maintenant je travaille sur la fonctionnalité middleware et je veux savoir quel est le « prochain » travail dans le concept middleware ? « Suivant vers le prochain middleware », mais qu'est-ce que le « prochain middleware » ? J'ai essayé d'utiliser le code suivant et chaque fois que je clique sur "http://localhost:3000/", il affiche "Middleware 1 et Middleware 2" dans la console et le navigateur. "hello world" est toujours affiché, donc "prochain middleware" signifie toujours "gestionnaire de routeur" (méthode get) ?
const express = require('express'); const app = express(); // Middleware function 1 app.use((req, res, next) => { console.log('Middleware 1'); next(); // Move to the next middleware }); // Middleware function 2 app.use((req, res, next) => { console.log('Middleware 2'); next(); // Move to the next middleware }); // Route handler app.get('/', (req, res) => { res.send('Hello, world!'); }); app.listen(3000, () => { console.log('Server started on port 3000'); });
P粉3279030452024-04-05 16:56:37
C'est faux. Le middleware suivant ne signifie pas toujours « gestionnaire de routeur ». La fonction Next() redirige vers une autre fonction.
Par exemple, l'exemple suivant,
// Middleware function 1 app.use((req, res, next) => { console.log("Middleware 1"); next(); // Move to the next middleware }); // Route handler app.get("/", (req, res, next) => { console.log("GET /"); next(); }); // Middleware function 2 app.use((req, res) => { console.log("Middleware 2"); res.send("Hello, world!"); });
Sortie console :
La réponse dans le navigateur est Hello, world!
. Par conséquent, la fonction next() n’est pas toujours conçue comme un gestionnaire de routeur.