cari

Rumah  >  Soal Jawab  >  teks badan

seterusnya tidak berfungsi dengan betul dalam middleware menggunakan Nodejs

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粉076987386P粉076987386231 hari yang lalu461

membalas semua(1)saya akan balas

  • P粉327903045

    P粉3279030452024-04-05 16:56:37

    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.

    balas
    0
  • Batalbalas