首页  >  问答  >  正文

了解 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粉204079743191 天前391

全部回复(1)我来回复

  • P粉838563523

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

    1. 是的,调用 next 很重要,因为这允许 express.js 移动到下一个中​​间件,否则它将处于悬空位置,应用程序将无法正常工作。

    2)您的请求将到达路由处理程序,您将收到包含消息“Hello World”的响应

    3)如果您不调用next,请求将被终止,应用程序将保持挂起状态

    4)是的,您可以使用 next 重定向到自定义中间件函数。每当使用参数调用 next 时,expresss 都会将其视为错误消息。您可以定义自定义错误处理中间件,以根据您的需要来指导它。

    回复
    0
  • 取消回复