我想在链的末尾创建处理程序,该处理程序在将响应主体发送到客户端之前进行修改。
示例
restify.get('/api/persons', getAllPersons(), anotherFunction(), modifyBodyFunction());
问题是链中的某些处理程序(例如anotherFunction()
)正在调用res.send()
,因此将响应发送回客户端。
有没有办法可以修改modifyBodyFunction()
中的res.body,即使处理程序先调用res.send()?
答案 0 :(得分:1)
您必须在next()
res()
代替anotherFunction()
如果您之前(在中间件中)发送了响应,则在此之后您无法执行任何操作并且它不正确。
请阅读有关Middlewares
的内容PS 当然,您可以在中间件中发送响应,但只有在您因某些错误而需要打破链时才应发送响应。