У меня проблема с моим сервером nodejs.
Я хочу, чтобы, если в моем db существует письмо, я хочу отправить электронное письмо на этот адрес, но если нет, я хочу отправить клиенту сообщение об ошибке и ошибке.
У меня есть этот контроллер:
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));
}
Я отправляю электронное письмо в почтовом методе. Я использую службу, которая вызывает мой db, который ищет это письмо, и у меня есть этот картограф:
outputEmail(outputEmail){
return {
email: outputEmail.email
};
}
Мой сервис:
getByEmail(correo) {
return this.db.find({
where: { email: correo }
});
}
Моя проблема в том, что я не знаю, как управлять, если я получаю пустой json-объект. Если я отправлю сообщение с электронным письмом, что он не существует, я получаю {}
ответ, но если я отправлю письмо, я получаю { email: [email protected]}.
Я хочу, если я получу пустой json, я просто хочу вернуть ошибку, говоря, что письмо не существует, но если запрос в db получает реальный адрес электронной почты, я хочу продолжить выполнение другого метода, который отправит электронное письмо на этот адрес,
Вы пытаетесь определить, есть ли поле электронной почты на вашем объекте JSON. Просто делать:
outputEmail(outputEmail){
if(outputEmail.email){
return {
email: outputEmail.email
};
}else{
throw new Error("No email found!");
}
}