我正在使用Node作为网络服务器,我想将每个请求都记录到数据库中。我还希望用户尽快收到回复,所以我想出了这段代码:
// ... putting together the response_data
res.send(response_data);
// ... now log the request into the DB and maybe do additional stuff
它有效,我喜欢把一些(时间)昂贵的东西放在发送背后。但是,由于我是Node的新手,我问这是否是一种常见模式?
在Stackoverflow上我发现人们在res.send之后尝试发送额外的数据时遇到了问题 - 但我从未听过有人说“是的,这对你的响应能力来说是一个很棒的功能”所以我不确定是否有专业这个解决方案的缺陷我还没看到......
答案 0 :(得分:3)
只要您不需要因“额外”内容而向用户发送任何内容,那么您的方法就可以了。
大多数人遇到的问题是在响应已经发送之后尝试向响应发送数据,例如
res.send(response_data);
// do additional stuff
res.send(additional_data); // KABOOM!