一尘不染

必须使用node.js快速调用res.end()吗?

node.js

我有几个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();
});

两种情况都可以,但是当我运行许多请求时,我担心泄漏或用完文件描述符之类的事情。哪一个“更正确”?


阅读 220

收藏
2020-07-07

共1个答案

一尘不染

您的问题的答案是否定的。res.end()如果您致电,则不必致电res.send()res.send()呼唤res.end()你。

来自/lib/response.js,这是res.send()函数的结尾:

  //. . .
  // respond
  this.end(head ? null : body);
  return this;
}
2020-07-07