【发布时间】:2019-10-27 17:45:00
【问题描述】:
我在我的节点中使用异步函数,这里我用 mongodb 调用多个查询
(即):
let data1;
let data2;
try{
data1 = await mongoQuery1
}catch {
res.send(error)
}
try{
data2 = await mongoQuery2
}catch {
res.send(error)
}
res.send({ data1, data2 });
我对这个流程感到困惑。所以,基本上我想发送给用户的只是data1 和data2 但是如果query1 失败会发生什么,因为它显然会落在第一个catch块中并向用户发送响应,然后继续执行下一个 try 块,并再次发送响应,这是完全错误的。我怎样才能做到这一点,我想要的是如果任何捕获中发生任何错误我想将错误响应发送回用户
如果所有的 try 块都成功了,那么我只想将成功响应发送回用户,我该如何实现呢?
【问题讨论】:
-
只是
return在第一次 res.send 之后?
标签: javascript node.js mongodb mongoose async-await