Как я могу проверить, была ли база данных обновлена ​​или нет для отправки почты - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь реализовать код для отправки электронного письма, только если данные записаны в базу данных.Итак, если данные записаны, функция должна вернуть true, и поэтому я отправляю письмо.

Это функция send mail:

module.exports = {
    sendMail: function(subscriber, type) {                     
        transporter.sendMail(mailOptions(subscriber, type), function (err, info) {

                if (err) {               
                    throw err; 
                }else if(type == consts.emailType.REINSCRIPTION){
                    db.update({_id:subscriber._id}, { $set: { subscribed: true} }, {}, err => {
                        console.log('Reinscription mail sent!', info);
                    })
                } else if(type == consts.emailType.REMINDER) {   
                    db.update({ _id: subscriber._id }, { $set: { reminder: true } }, {}, err => {
                        console.log('Reminder mail sent!', info);
                    })
                } else if(type == consts.emailType.FEEDBACK) {
                    db.update({ _id: subscriber._id }, { $set: { feedback: true } }, {}, err => {
                        console.log('Feedback mail sent! ', info);
                    })
                }
        })
    }

Если я не ошибаюсь, transporter вернуть обещание, поэтому я пытаюсь сделать это, чтобы получить возврат sendMail:

mail.sendMail(subscriber, consts.emailType.REMINDER)
             .then(info => console.log("mail was sent" + info.messageId))
             .catch(err => console.log("mail wasnt send:" + err));

Итак, как я могу проверить, была ли база данных обновлена ​​или нет, чтобы вернуть ее и обработатьthen или catch пункт

Я пытался быть ясным.

...