如何在最后的restify响应处理程序中修改res.body?
我想在发送到客户端之前修改响应主体的链的末尾创build处理程序。
例
restify.get('/api/persons', getAllPersons(), anotherFunction(), modifyBodyFunction());
问题是链中的一些处理程序(例如anotherFunction()
正在调用res.send()
,从而将响应发送回客户端。
有没有什么办法可以在modifyBodyFunction()
修改res.body,甚至在处理程序调用res.send()之前?
你必须在中间件中使用next()
而不是res()
,像anotherFunction()
如果您之前(在中间件中)发送响应,则在此之后您无法执行任何操作,这是不正确的。
请阅读关于中间件的内容
PS当然,您可以在中间件中发送响应,但是只有在由于某些错误而需要中断链接时,才会发送响应。