Rumah > Soal Jawab > teks badan
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粉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.