До и после крючков для запроса в экспресс (для выполнения перед любым повтором и после любого res) Средство промежуточного уровня ExpressJ req, res, next имеют крючки типа .on и .pipe. Но я ищу крючки для методов app.get и app.post. Ответ 1 app.use() и промежуточное программное обеспечение можно использовать для "before" и комбинации 'close' и 'finish' события могут быть использованы для "после". app.use(function (req, res, next) { function afterResponse() { res.removeListener('finish', afterResponse); res.removeListener('close', afterResponse); // action after response } res.on('finish', afterResponse); res.on('close', afterResponse); // action before request // eventually calling `next()` }); app.use(app.router); Примером этого является logger промежуточное программное обеспечение, которое будет добавлено в журнал после ответа по умолчанию. Просто убедитесь, что это "промежуточное ПО" используется до app.router, поскольку порядок имеет значение.
Ответ 1 app.use() и промежуточное программное обеспечение можно использовать для "before" и комбинации 'close' и 'finish' события могут быть использованы для "после". app.use(function (req, res, next) { function afterResponse() { res.removeListener('finish', afterResponse); res.removeListener('close', afterResponse); // action after response } res.on('finish', afterResponse); res.on('close', afterResponse); // action before request // eventually calling `next()` }); app.use(app.router); Примером этого является logger промежуточное программное обеспечение, которое будет добавлено в журнал после ответа по умолчанию. Просто убедитесь, что это "промежуточное ПО" используется до app.router, поскольку порядок имеет значение.