Node.js 将响应发送到客户端后执行的express/connect中间件
是否可以编写一个中间件,在将响应发送到客户端之后执行,或者在将响应发送到客户端之前处理并调用请求之后执行?查看是否绑定到Node.js 将响应发送到客户端后执行的express/connect中间件,node.js,express,connect,middleware,Node.js,Express,Connect,Middleware,是否可以编写一个中间件,在将响应发送到客户端之后执行,或者在将响应发送到客户端之前处理并调用请求之后执行?查看是否绑定到req.on('end',function(){…})将适用于您。pauljz给出了基本方法,但为了进一步扩展,这里是一个中间件示例 module.exports = function() { return function(req, res, next) { req.on("end", function() { // some code to be e
req.on('end',function(){…})
将适用于您。pauljz给出了基本方法,但为了进一步扩展,这里是一个中间件示例
module.exports = function() {
return function(req, res, next) {
req.on("end", function() {
// some code to be executed after another middleware
// does some stuff
});
next(); // move onto next middleware
}
}
在主应用程序中
expressApp.use(require("./doneMiddleware"));
expressApp.use(express.logger());
expressApp.use(express.static.....
如果我理解正确,当客户端完成向服务器发送请求/数据时,将触发此事件。但是我想要的是,在调用response.render或response.redirect等之后,应该执行中间件。不,在完成整个请求(包括发送响应)后,将发出此事件。只要render/redirect call response.end,关联的请求将发出end。@SelvarajMA以下方法可能更好:。如果我理解正确,当客户端完成向服务器发送请求/数据时,将触发此事件。但是我想要的是,在调用response.render或response.redirect等之后,应该执行中间件。