seterusnya tidak berfungsi dengan betul dalam middleware menggunakan Nodejs
P粉076987386
P粉076987386 2024-04-04 17:33:56
0
1
459

Saya bekerja dengan Nodejs dan menggunakan expressjs dan kini saya sedang mengusahakan fungsi middleware dan saya ingin tahu apakah tugas "seterusnya" dalam konsep middleware? "Seterusnya ke middleware seterusnya", tetapi apakah itu "perisian tengah seterusnya"? Saya cuba menggunakan kod berikut dan apabila saya menekan "http://localhost:3000/" maka ia menunjukkan "Middleware 1 dan Middleware 2" dalam konsol dan penyemak imbas "hello world" sentiasa dipaparkan, jadi "perisian tengah seterusnya" sentiasa bermaksud "pengendali penghala" (dapatkan kaedah)?

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

membalas semua(1)
P粉327903045

Ini salah. Perisian tengah seterusnya tidak selalu bermaksud "pengendali penghala". Fungsi Next() mengubah hala ke fungsi lain.

Sebagai contoh, contoh berikut,

// 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!");
});

Keluaran konsol:

Tindak balas dalam pelayar ialah Hello, world!. Oleh itu, fungsi next() tidak selalunya dimaksudkan sebagai pengendali penghala.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan