平均堆叠/的NodeJS /猫鼬的应用程序,我有这样的代码:警告:。然后()只节选功能
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 <[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);
});
}
当我运行它,我得到一个错误: 警告:。那么()只节选功能,但传递:[对象未定义]
我应该在sendEmail,以便它与工作。然后改变() ?
您需要传递一个返回Promise的函数,我猜。 –
感谢@trincot,这工作,但然后旋转轮不停止...看起来像没有正确完成。 –