err_http_headers_sent erorr在express js中
我在Express上工作了REST API,
我在下面的项目中写了一个自定义错误处理程序
function errorHandler(err, req, res, next) {
if (res.headersSent) return next(err);
res.status(500);
res.send("error", { error: err });
}
,并且我故意犯了一个错误,以测试我的自定义错误处理程序是否正常工作
res.json({
_id: user._id,
username: user.username,
email: user.email,
token: generateToken(user.id, "ACCESS_TOKEN_SECRET", "20s"),
});
res.cookie("jwt", newRefreshToken, {
httpOnly: true,
secure: true,
sameSite: "None",
maxAge: 24 * 60 * 60 * 1000,
});
[我发送了响应,该响应已经设置了响应标题然后,我再次尝试通过res.cookies设置标题。最终导致标题发送错误]
现在我的问题是在我的自定义错误处理程序中,我通过(res.headerssent)返回下一个错误处理此错误(“ err ”);
但是我仍然会遇到错误,应用程序崩溃了。
因此,请让我知道如何以正确的方式处理它。
I was working on REST API in express
I wrote a custom error handler as below in my project
function errorHandler(err, req, res, next) {
if (res.headersSent) return next(err);
res.status(500);
res.send("error", { error: err });
}
and i intentionally made a mistake as below to test whether my custom error handler is working
res.json({
_id: user._id,
username: user.username,
email: user.email,
token: generateToken(user.id, "ACCESS_TOKEN_SECRET", "20s"),
});
res.cookie("jwt", newRefreshToken, {
httpOnly: true,
secure: true,
sameSite: "None",
maxAge: 24 * 60 * 60 * 1000,
});
[I sent the response which already set the response header and then I again tried to set the headers by res.cookies eventually which results in headers sent error]
Now my question is in my custom error handler I handled this error by if (res.headersSent) return next("err");
But still I am getting error and app gets crashed.
So, Please let me know how to handle this in right way.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论