gpt4 book ai didi

javascript - 从 Express 服务器获取时出现错误对象

转载 作者:行者123 更新时间:2023-12-01 03:08:32 25 4
gpt4 key购买 nike

我有一个带有简单错误处理程序的 Express 服务器。传递给它的所有 err 对象都是 Error 对象。

const errorHandler = (err, req, res, next) => {
logError(`Express Error Handler: ${err}`);
res.status(500).json(err);
};

我正在使用请求调用服务器的路由:

request
.post(
{
uri: url,
timeout,
json: true,
form: {
currentStepUid,
sourceStepUid: previousStepUid,
config,
},
},
(error, response, body) => {
// Handle errors
}
)
});

我的问题是错误不是作为 error 对象出现的,而是作为 body 对象上的 error 属性出现的。

我应该如何设置 Express 才能获取错误对象?

最佳答案

request.post() 不会将 500 状态报告为错误。已联系 http 服务器并提供响应。这不是它认为的错误。由您自己的代码从 http 响应中检测该情况,然后将其视为您自己的代码中的错误。

您需要查看实际响应才能看到 http 500 状态代码。错误对象是 http 响应正文,因此它应该位于该位置。这就是您需要从中获取它的地方。

如果您必须在多个地方执行相同的逻辑,您可以为 request.post() 创建自己的包装函数,该函数将检查 http 状态代码以及它是否在您指定的范围内考虑一个错误,然后获取http响应主体并将其变成一个错误。

关于javascript - 从 Express 服务器获取时出现错误对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46006642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com