终止ExpressJS请求

10

如何结束一个Express 3请求?res.end()显然无法停止处理过程。

exports.home = function(req, res) {
  res.end();
  console.log('Still going, going...');
1个回答

17

你需要返回return。例如:

exports.home = function(req, res) {
  return res.end();
  console.log('I will never run...');

res.end() 简单地完成并刷新响应到客户端。然而,就像任何其他操作一样,这并不会告诉 JavaScript 停止运行,因此我们需要明确从函数中 return(尽管我可能会问为什么您会在刷新响应后有不想运行的代码...?)。


啊,差点就成功了!我先是用了 res.send(500),然后跟着是 return res.end(),结果它一直循环 - 而使用 return res.send(500) 就给我带来了需要的结果。回答你的问题,我只是检查了一些必需的变量(用于 API 数据源),并且想要在不用封装代码的情况下退出。 - cyberwombat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接