有没有办法将中间件添加到被调用以跟踪/ 响应是否已发送的快递app
或链的末尾?router
res
我的意思是,无论是否:
- 发送响应(字符串、JSON 等)
- 静态服务文件。
- 在静态文件夹中找不到文件。
- 达到了一个全面的回调。
- 到达错误中间件。
例子
例如,如果我想记录所有内容......
响应是否成功,即:它通过express.static( ... )
中间件提供文件、从数据库中获取的一些数据或自定义中间件,或者再次...如果它失败/抛出错误...,有没有办法在最后调用回调?
到目前为止,据我所知,按照设计,如果静态文件成功提供服务(通过express.static),它不会调用next()
,因此链停在那里。
对于任何使用 的定制中间件res.send()
,您通常不想在next()
之后调用,因为它可能会导致一些不良副作用(重新发送标头的错误)。
对于错误处理程序来说,这更容易,因为所有不成功的响应都可以在这里捕获。
但是它如何输出成功/不成功的响应呢?这可能是没有中间件就应该完成的事情吗?