Обещай тогда и лови в nodeJS

1

У меня проблема с моим сервером 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 получает реальный адрес электронной почты, я хочу продолжить выполнение другого метода, который отправит электронное письмо на этот адрес,

Теги:
email
promise

1 ответ

1
Лучший ответ

Вы пытаетесь определить, есть ли поле электронной почты на вашем объекте JSON. Просто делать:

outputEmail(outputEmail){
    if(outputEmail.email){
        return {
            email: outputEmail.email
        };
    }else{
        throw new Error("No email found!");
    }
}
  • 0
    Это оно! Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню