post - HTTP 请求返回 400,但不能抛出错误
问题描述
尝试使用此请求发布功能。当我使用正确的 requestBody 运行它时,它工作正常,但如果 requestBody 无效,它会返回 HTTP 400 并失败,但无论我尝试抛出什么,或者这样,catch 块永远不会运行。任何人都可以帮忙吗?这是在 Node 中并使用请求包。
const res = async() =>
{
try
{
const res = await request({
method: "POST",
url: "url",
headers: {
"content-type": "application/json",
"authorization": "Basic " + Buffer.from(username + ":" + password).toString("base64")
},
body: JSON.stringify(requestBody)
}, function(error, response, data)
{
if(response.statusCode == 201 || response.statusCode == 200)
{
console.log(data);
}
else
{
console.log("Fell into else block!");
throw new Error("POST failed!");
}
});
}
catch (error)
{
console.log("something went wrong!", error);
}
};
解决方案
由于 request 函数返回一个 promise 使用 catch 方法
const res = await request({
method: "POST",
url: "url",
headers: {
"content-type": "application/json",
"authorization": "Basic " + Buffer.from(username + ":" + password).toString("base64")
},
body: JSON.stringify(requestBody)
}, function(error, response, data)
{
if(response.statusCode == 201 || response.statusCode == 200)
{
console.log(data);
}
else
{
console.log("Fell into else block!");
throw new Error("POST failed!");
}
})
.catch((error) => {
console.log("something went wrong!", error);
});
推荐阅读
- javascript - 隐藏额外的文本而不是滚动或溢出父 div
- assembly - 编写一个ARM汇编程序
- c# - 数据重叠 SQL Server 视图
- r - 如何使用 GGanimate 在数据框列表之间制作动画?
- c# - 如何正确地将 JSON 元数据值发送到 Woocommerce API
- javascript - 从具有动态行的表中保存数据
- vuetify.js - 如何将卡片图像和卡片内容对齐?验证
- postgresql - Postgres 9.6 的 Datadog 配置
- python - 如何在图形中添加色标?
- asp.net-core - Appsettings.json 如何查看正在使用的环境?