Node.js 当从节点向节点发送响应时,return是什么意思 假设考虑下面的例子:
1st: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
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是,但这将需要检查在此之后是否还有其他代码要执行。是,我接受它,但在等待时间结束后,对问题进行表决,看是否正确@吉滕德