首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >必须用node.js在express中调用res.end()吗?

必须用node.js在express中调用res.end()吗?
EN

Stack Overflow用户
提问于 2013-12-03 23:29:32
回答 2查看 59.3K关注 0票数 97

我有几个Express应用程序,我看到在一些模块中,res.end()在请求处理程序的末尾(在res.sendres.json之后)被调用,而在另一些模块中,它不被调用。

例如:

代码语言:javascript
复制
app.get('/test', function(req, res) {
    res.send('Test', 200);
});

或者:

代码语言:javascript
复制
app.get('/test', function(req, res) {
    res.send('Test', 200);
    res.end();
});

这两种情况都可以,但当我运行许多请求时,我担心会发生泄漏或耗尽文件描述符或诸如此类的事情。哪一个“更正确”?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-03 23:35:02

你的问题的答案是否定的。如果调用res.send(),则不必调用res.end()res.send()会为您调用res.end()

取自/lib/response.js,下面是res.send()函数的结尾:

代码语言:javascript
复制
  //. . .
  // respond
  this.end(head ? null : body);
  return this;
}
票数 124
EN

Stack Overflow用户

发布于 2017-02-04 03:48:09

必须调用end()函数的一个示例是将buffer作为文件发送以供下载。

代码语言:javascript
复制
res.write(buffer);
res.end();
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20355136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档