【发布时间】:2020-01-15 06:14:58
【问题描述】:
在我的 nodejs/express rest api 中使用服务/控制器模式。
在我调用 mongodb 的服务中。我希望在服务中发生错误处理/抛出,但我不想共同调用 User.find() 两次。
controller.js
exports.findAll = (req, res, next) => {
userService.findAllUsers()
.then(users => res.json(users))
.catch(err => next(err));
};
service.js
async function findAllUsers() {
if(await User.find()) {
return await User.find()
} else {
throw "Couldn't retrieve all users"
}
}
如果User.find() 失败,我将如何重写服务函数才能引发错误?
【问题讨论】:
标签: node.js express asynchronous promise