【发布时间】:2022-02-17 13:34:05
【问题描述】:
我的应用程序有一个运行状况检查路由,用于检查应用程序的运行状况,它是 GET 路由,但我们将 HTTP HEAD 调用发送到同一路由,但我收到 ERR_STREAM_WRITE_AFTER_END 错误。深入研究时,我发现每当我尝试发送HEAD 类型的响应数据时,都会调用此错误,但找不到相同的实际原因。有人可以解释为什么它会这样吗?示例代码如下。
有错误的代码,即使使用res.json 和res.send 也会出错
router.get('/health', function (req, res) {
res.send({
message: "working great!!!"
});
res.end();
});
更新 1 -> 删除 res.send 后,它工作正常,但仍然想知道使用 res.send 的原因,它给出了错误。在HTTP HEAD 调用中,客户端按预期工作,它忽略了response body,但为什么在sever side 上,我们收到此错误?
【问题讨论】:
标签: javascript node.js express