javascript - POST 请求... UnhandledPromiseRejectionWarning:未处理的承诺拒绝
问题描述
发出发布请求时,我收到此错误:
UnhandledPromiseRejectionWarning:未处理的承诺拒绝。
如果有人可以解释为什么会发生这种情况,我将不胜感激:)谢谢
更新
因此,此代码成功发布。但是,当我取消注释验证代码时,我得到了同样的错误......
router.post("/", async (req, res) => {
//let client = validate(req.body);
//if (client.error) {
//res.status(400).json(result.error);
//return;
//}
let client = new Client(req.body);
try {
let savedClient = await client.save();
res.location(`/${savedClient._id}`).status(201).json(savedClient);
} catch (error) {
res.status(500).json(savedClient.error);
}
});
解决方案
我看不到您在哪里初始化savedClient
,我认为您的错误在于您的捕获。您引用的对象 ( savedClient
) 似乎不在范围内。
尝试这个:
router.post("/", async (req, res) => {
let client = new Client(req.body);
try {
let savedClient = await client.save();
res.location(`/${savedClient._id}`).status(201).json(savedClient);
} catch (error) {
console.log(error)
res.status(500).json(error);
}
});
推荐阅读
- java - 创建 Java 模型类
- python - 处理 exec 内部函数以进行符号计算
- javascript - 带有“OR”运算符的三元运算符不起作用?
- java - (java字符串连接)这是怎么给这个异常的?
- c# - 应用程序之间共享的身份 - 身份框架 C#.NET
- linux - Tiltbrush Poly 无法在 Linux 中工作
- docker - 如何在远程 Windows 引擎上运行 Docker 命令
- dynamics-crm - Dynamics 365 中视图的动态参数
- java - java.lang.RuntimeException:失败:HTTP 错误代码:400
- google-cloud-platform - 将 csv 从云存储导入云 sql 时服务帐户的访问被拒绝(权限问题?)