对于 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/