搜尋

首頁  >  問答  >  主體

了解 Node.js Express 中間件函數中「next」參數的功能

我正在研究 Nodejs 並使用“Express js”,現在我正在研究“中間件功能”,這是我目前的程式碼

const express = require('express')
const app = express()

const myLogger = function (req, res, next) {
  console.log('LOGGED')
  next()
}

app.use(myLogger)

app.get('/', (req, res) => {
  res.send('Hello World!')
})

我對「下一個」參數感到困惑,我對中間件功能有以下問題

  1. 「下一個」有什麼用?這是重定向到「下一個中介軟體功能」嗎?如果是的話怎麼辦?
  2. 如果不存在「第二個中間件」那麼會發生什麼事?
  3. 如果我們不使用「next」那麼會發生什麼事?
  4. 我們可以重新導向到「next」內的自訂中間件嗎?

P粉204079743P粉204079743286 天前558

全部回覆(1)我來回復

  • P粉838563523

    P粉8385635232024-04-02 00:15:06

    1. 是的,呼叫 next 很重要,因為這允許 express.js 移動到下一個中間件,否則它將處於懸空位置,應用程式將無法正常工作。

    2)您的請求將到達路由處理程序,您將收到包含訊息「Hello World」的回應

    3)如果您不呼叫next,請求將被終止,應用程式將保持掛起狀態

    4)是的,您可以使用 next 重定向到自訂中間件函數。每當使用參數呼叫 next 時,expresss 都會將其視為錯誤訊息。您可以定義自訂錯誤處理中間件,以根據您的需求來指導它。

    回覆
    0
  • 取消回覆