Express 快车路线是否需要返回

Express 快车路线是否需要返回,express,Express,我为我的webapp使用expressframework。我从书上取了一些代码,看了看这个代码,这是一个到页面的路径 app.post('/register', function(req, res) { var firstName = req.param('firstName', ''); var lastName = req.param('lastName', ''); var email = req.param('email', null); var password = r

我为我的webapp使用expressframework。我从书上取了一些代码,看了看这个代码,这是一个到页面的路径

app.post('/register', function(req, res) {
  var firstName = req.param('firstName', '');
  var lastName = req.param('lastName', '');
  var email = req.param('email', null);
  var password = req.param('password', null);

  if ( null == email || email.length < 1
       || null == password || password.length < 1 ) {
    res.send(400);
    return;
  }
app.post('/register',函数(req,res){
var firstName=req.param('firstName','');
var lastName=req.param('lastName','');
var email=req.param('email',null);
var password=req.param('password',null);
if(null==email | | email.length<1
||null==password | | password.length<1){
res.send(400);
返回;
}

此处有什么返回的含义是必需的?

只有在路由处理程序函数中该点下有更多代码并且希望绕过该函数的其余部分时,
返回才是必需的。express中的任何内容都不会查看或关心您返回的值。如果您仍然处于函数的底部,则可以完全省略
return
语句

通常,您会看到如下模式:

  • 首先做一些先决条件检查、验证、授权或类似的逻辑
  • 如果其中任何一个失败,发送和出错并从函数返回以绕过主逻辑。这些被称为保护子句
  • 接下来是主逻辑代码,仅在未遇到
    返回时执行

(a)我记得看到response.send()被称为非文档化。我看到response.writeHead(状态[,…])、response.write()、response.end()。(b)在不调用response.end()的情况下发出返回,将在javascript事件队列中保留未应答的响应。
res.send()
是一个特定于express的API添加项。它负责调用
res.end()
。如果route函数中的代码创建了一个承诺,并且您立即使用then()和catch()方法处理该承诺,那么出于单元测试的目的是否仍然需要返回该承诺,或者我将如何检查此类代码?