概述

中英双语

中间件函数是在应用程序的请求-响应周期中可以访问 请求对象 (req)、响应对象 (res) 和 next 函数的函数。next 函数是 Express 路由器中的一个函数,当被调用时,它会在当前中间件之后执行中间件。

中间件函数可以执行以下任务:

  • 执行任何代码。
  • 更改请求和响应对象。
  • 结束请求-响应周期。
  • 调用堆栈中的下一个中间件。

如果当前中间件函数没有结束请求-响应循环,它必须调用 next() 将控制权传递给下一个中间件函数。否则,请求将被挂起。

下图显示了中间件函数调用的元素:

中间件功能适用的 HTTP 方法。

中间件功能适用的路径(路由)。

中间件功能。

中间件函数的回调参数,按约定称为 "next"。

中间件函数的 HTTP response 参数,按约定称为 "res"。

中间件函数的 HTTP request 参数,按约定称为 "req"。

从 Express 5 开始,返回 Promise 的中间件函数在拒绝或抛出错误时将调用 next(value)next 将使用被拒绝的值或抛出的错误来调用。