next ne fonctionne pas correctement dans le middleware utilisant Nodejs
P粉076987386
P粉076987386 2024-04-04 17:33:56
0
1
458

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粉076987386
P粉076987386

répondre à tous(1)
P粉327903045

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal