我遇到了我的nodejs服务器的问题。承诺,然后在nodeJS捕获
我想要的是,如果电子邮件存在于我的数据库中,我想发送一封电子邮件到该地址,但如果没有,我想发送错误消息给客户端。
我有这样的控制器:
reset(req, res) {
return this.service.getByEmail(req.body.email)
.then(this.mapper.outputEmail.bind(this.mapper))
.then(res.json.bind(res)).catch(res.send.bind(res));
}
我发送电子邮件的POST方法。我使用调用我的数据库寻找该电子邮件服务和我有这样的映射:
outputEmail(outputEmail){
return {
email: outputEmail.email
};
}
我的服务:
getByEmail(correo) {
return this.db.find({
where: { email: correo }
});
}
我的问题是,我不知道如何,如果我得到控制一个空的JSON对象..如果我发送一封电子邮件,它不存在,我得到一个{}
响应,但如果我发送一个存在的电子邮件,我得到{电子邮件:[email protected]}。
我要的是,如果我得到一个空的JSON,我只想返回一个错误的电子邮件犯规存在,但如果在数据库中查询得到一个真正的电子邮件,我要继续执行另一种方法,发送发电子邮件到该地址。
你可以在你的服务中抛出异常,这些异常将被catch块拾取。这打破了连锁神殿的执行链。 – Herku