Node.js 当从节点向节点发送响应时,return是什么意思 假设考虑下面的例子:

Node.js 当从节点向节点发送响应时,return是什么意思 假设考虑下面的例子:,node.js,angular,Node.js,Angular,1st: projectController.getProjectById = function(req,res){ return (res.status(200).send("Hey")); } projectController.getProjectById = function(req,res){ res.status(200).send("Hey"); } 第二名: projectController.getPr

1st:

projectController.getProjectById = function(req,res){

            return (res.status(200).send("Hey"));

}
projectController.getProjectById = function(req,res){

                res.status(200).send("Hey");

    }
第二名:

projectController.getProjectById = function(req,res){

            return (res.status(200).send("Hey"));

}
projectController.getProjectById = function(req,res){

                res.status(200).send("Hey");

    }
仔细查看我的两个代码段,在我编写的第一个代码段
return(res.status(200).send(“Hey”)res.status(200).send(“Hey”)

我的问题是,如果我们不在
res.send()
中写入
返回(…)
,那么它也会将数据发送到客户端。那么在
返回(…)
中包装
res.send()
有什么意义呢


我在互联网上搜索过,但对答案仍不满意,有人能解释我的问题吗。

返回关键字从您的函数返回,从而结束其执行。这意味着它之后的任何代码行都不会被执行

而且,一旦使用了return关键字,代码执行器/编译器就不需要关心下一行代码


要添加到jitender的答案中,因为return终止执行,
return res.send()
可以用于在响应是有条件的情况下清理代码

例如,假设您正在登录一个用户

if(!user){
res.status(400).send('未找到用户')
}else if(用户已禁用){
res.status(400).send('用户已禁用')
}否则{
//…检查密码。。。
if(密码匹配){
res.send('这是您的令牌…')
}否则{
res.status(400).send('密码不匹配')
}

}
添加
return
语句允许将
send
方法返回的内容(在本例中为
响应
对象)的实例传递给函数的调用方,以便以后可以再次使用。如果不使用返回值,则不必返回它。一旦发送了头,它就不能在任何地方重复使用@艾德里克。如果我误解了你的意思,请多解释几行。我的意思是,在JavaScript中,你可以向函数添加return关键字,它返回你指定的值。然后,您可以选择将此值传递到某个位置或不使用它。(我所说的
send
方法的意思是,它是一个执行某些操作并返回相同实例的方法:)即使我们只编写
res.send()
,它将结束执行,不会再执行任何代码行。@PushprajsinhChudasama不正确-
res.send
将发送响应,但不会终止当前函数的执行。@PushprajsinhChudasama是,但这将需要检查在此之后是否还有其他代码要执行。是,我接受它,但在等待时间结束后,对问题进行表决,看是否正确@吉滕德