в среднем приложение стек/nodejs/мангустов, у меня есть этот код:Предупреждение: .then() только excepts функции
User.findByIdAsync(req.params.id)
.then(handleEntityNotFound(res))
.then(saveUpdates(req.body))
.then(sendEmail()) // this is my addition
.then(respondWithoutResult(res))
.catch(handleError(res));
функция Sendmail выглядит следующим образом:
function sendEmail(body){
var mailOptions = {
from: 'Excited User <admi[email protected]>',
to: '[email protected]',
subject: 'Hello',
text: 'body text here'
};
var smtpConfig = {
host: config.mailgun.smtp_host,
port: 465,
secure: true,
auth: {
user: config.mailgun.smtp_user,
pass: config.mailgun.smtp_pass
}
};
var transporter = nodemailer.createTransport(smtpConfig);
transporter.sendMail(mailOptions, function(error, info){
if(error){
return console.log(error);
}
console.log('Message sent: ' + info.response);
});
}
, когда я запускаю его, я получаю сообщение об ошибке: Предупреждение: .then() только за исключением функций, но передано: [объект Undefined]
Что я должен изменить в sendEmail, чтобы он работал с .then() ?
Вам нужно передать функцию, которая возвращает обещание, я думаю. –
спасибо @trincot, что работает, но тогда вращающееся колесо не останавливается ... похоже, что что-то не закончилось правильно. –