然后承诺,并在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)); } 

我以邮寄方式发送电子邮件。 我使用一个服务,调用我的数据库寻找该电子邮件,我有这个映射器:

  outputEmail(outputEmail){ return { email: outputEmail.email }; } 

我的服务:

 getByEmail(correo) { return this.db.find({ where: { email: correo } }); } 

我的问题是,我不知道如何控制,如果我得到一个空的json对象..如果我发送一封邮件,它不存在我得到一个{}回应,但如果我发送一个存在的电子邮件我得到{电子邮件:erwrr@gmail.com}。

我想要的是,如果我得到一个空的JSON,我只是想返回一个错误,说该电子邮件不存在,但如果数据库中的查询得到一个真正的电子邮件,我想继续执行另一种方法,发送电子邮件到该地址。

您正试图确定您的JSON对象上是否有电子邮件字段。 做就是了:

 outputEmail(outputEmail){ if(outputEmail.email){ return { email: outputEmail.email }; }else{ throw new Error("No email found!"); } }