Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript return语句在nodejs中的router.post中的作用_Javascript_Node.js - Fatal编程技术网

Javascript return语句在nodejs中的router.post中的作用

Javascript return语句在nodejs中的router.post中的作用,javascript,node.js,Javascript,Node.js,我正在浏览我的组织代码,在那里我发现了一个类似于下面的代码 router.post('/listings', async (req, res) => { //some thing related to req return res.status(200).json({ code: 200, }) }) 由于用户将直接调用此api,因此接收到的返回语句的确切位置。这样做对吗? 而且,由于响应是通过res传递而不是返回的,所以会返回什么呢?好问题 路

我正在浏览我的组织代码,在那里我发现了一个类似于下面的代码

router.post('/listings', async (req, res) => {
    //some thing related to req
    return res.status(200).json({
        code: 200,

    })
})
由于用户将直接调用此api,因此接收到的返回语句的确切位置。这样做对吗? 而且,由于响应是通过res传递而不是返回的,所以会返回什么呢?

好问题

路由处理程序只是express体系结构中的中间件,
res.json({})
只是将数据传递给默认中间件,因此,如果下面还有其他代码块,则使用return语句停止执行:

app.get("/", (req, res) => {
  if (something) {
     return res.json({ message: "A thing" });
  }

  res.json({ message: "Other thing" });
});

return
将执行流返回给调用函数。您没有用任何特定的框架或库标记此函数,因此我们只能猜测
router.post
期望您的函数返回什么。任何熟悉nodejs的人都可以知道它与express相关。城域网路由器本身就是一个中间件。每个人都在nodejs中使用这些术语。您认为我应该从下一个代码中列出配置文件吗?如果您使用的是库,那么“express”如何?Node不是express,express也不是Node。@meagar不要为了注释而注释任何东西。任何人都可以很容易地分辨出这是快递。我们有标签是有原因的。你需要在问题上加上相关的标签,这样问题才会出现在这里的主题上。“任何人都知道”或“每个人都知道”都不是有用的术语。因此,基本上return语句没有进一步的效果,只是用来停止执行。是的,它没有。但不要相信我的话,为了进一步阅读,我强烈推荐以下内容:1-2-3-