我有几个Express应用程序,我发现在某些模块中,res.end()该请求是在请求处理程序的末尾(res.send或之后res.json)调用的,而在其他模块中则没有调用。
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.end()如果您致电,则不必致电res.send()。res.send()呼唤res.end()你。
res.send()
来自/lib/response.js,这是res.send()函数的结尾:
//. . . // respond this.end(head ? null : body); return this; }