我遇到了我的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