【问题标题】:What is the difference between res.setHeader('status',400); and res.status(400);?res.setHeader('status',400); 有什么区别?和 res.status(400);?
【发布时间】:2023-12-18 02:57:01
【问题描述】:

我不确定确切的区别是什么。还有,哪个更好用于设置响应状态?

【问题讨论】:

  • 没有差异,但第二种方法更常见且更安全

标签: node.js express response status


【解决方案1】:

Express documentation says about res.status(code)

设置响应的 HTTP 状态。它是一个可链接的别名 节点的 response.statusCode。


Node.js documentation says about response.statusCode

使用隐式标头时(不调用 response.writeHead() 显式),此属性控制将发送的状态代码 刷新标头时发送给客户端。


关于setHeaders

对于此选项,指定一个函数来设置自定义响应标头。 对标头的更改必须同步进行。


总结

res.setHeader 同步操作标头(现在)。

res.status 将在它们被刷新时设置标题。

【讨论】: