【发布时间】:2013-12-19 17:53:21
【问题描述】:
我有几个Express 应用程序,我看到在某些模块中,res.end() 在请求处理程序的末尾被调用(在res.send 或res.json 之后),而在其他模块中,它不是调用。
例如:
app.get('/test', function(req, res) {
res.send('Test', 200);
});
或:
app.get('/test', function(req, res) {
res.send('Test', 200);
res.end();
});
这两种情况都有效,但是当我运行许多请求时,我担心泄漏或文件描述符用完或类似的东西。哪个“更正确”?
【问题讨论】:
-
我认为
res.send()触发了res.end()-- 可能是错的。 -
@tymeJV 你是对的,确实如此:github.com/visionmedia/express/blob/master/lib/response.js#L154 ;)
-
感谢@Trevor-Senior,我正在查看同一个文件,但没有看到...
-
@greuze 我以前查过它,所以我有一个先机:)。我继续将评论移到其他人的更有条理的答案中。
-
嗨。那么 res.status(
).json();我还有另一个问题。如果我拒绝该呼叫,我应该发回哪个错误代码?喜欢用户超出了他的限制?