javascript - 在 Express.js 中,我是否应该返回响应?

标签 javascript node.js express typescript

对于 Express.js 4.x,我找不到是否应该返回响应(或下一个函数),所以:

这个:

app.get('/url', (req, res) => {
    res.send(200, { message: 'ok' });
});

或者这个:

app.get('/url', (req, res) => {
    return res.send(200, { message: 'ok' });
});

有什么区别?

最佳答案

我不同意上面的回答。 有时回调函数可以根据应用程序的逻辑返回多个响应:

router.post("/url", function(req, res) {
// (logic1)
     res.send(200, { response: 'response 1' });
   // (logic2) 
      res.send(200, { message: 'response 2' });
    }})  

这会抛出这个错误:

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

这实际上可以通过使用return 来解决。它也可以通过使用 if else 子句来解决。

关于javascript - 在 Express.js 中,我是否应该返回响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34256978/

相关文章:

Node.js HTTP GET 请求内容类型

callback - 如何处理回调函数中的响应(以 nodejs 中的 cradle 为例)

node.js - 快速处理 URIError : Failed to decode param

javascript - 文本字符串必须在 React Native 中的 <Text> 内呈现

javascript - 如何使用 momentjs 从数组中找到最接近当前时间的时间?

javascript - 新的 Google reCAPTCHA JavaScript 命名空间回调

javascript - 如何从全日历年 View 中隐藏上个月和下个月的日期和事件?

node.js - 使用 TypeORM 和 NestJs 和 Typescript 创建新迁移时出错

javascript - 从 NodeJS 控制 Arduino

javascript - Node 绝对值不适用于 webpack