【发布时间】:2023-01-13 13:30:14
【问题描述】:
我有一个简单的快速服务器,其中我有功能,在这个功能中我尝试从 mongoDB 访问数据,这是代码
const test =async()=>{
try{
const data = await User.findOne({_id: "1234"})
}catch(err){
const data = await User.findOne({_id: "4567"})
}
在此函数中,try 块工作正常但每当发生错误时 catch 块内的代码不起作用,我尝试在 catch 块中返回和 console.log() 也不起作用,这是代码
catch(err){
console.log("hello")
}
或者
catch(err){
return "hello"
}
在 catch 块中没有任何问题,我无法理解这个问题请帮助我
编辑
上面的代码是我的问题的简单示例实际代码如下
router.post("/", async (req, res) => {
const data = req.body;
data.time = new Date();
data._id = uniqid();
data.orderStatus = "Pending";
const tradeData = await TradePara.create(data);
try {
algoTrade(data);
} catch (err) {
console.log(err);
}
});
我遇到了 algoTrade 函数的问题,在这个函数中我用 axios 调用了一些 api
【问题讨论】:
-
请在添加更多信息时更新问题 - 评论中回答的代码不提供解决方案的位置错误:-)
-
一个可能的解释是,
user.findOne不会拒绝它在发生错误后返回的承诺,从而使返回的承诺永久挂起。
标签: javascript node.js mongoose exception try-catch