1

我正在玩从 nodeJS 发送电子邮件(使用 nodemailer lib),我目前在整个邮件过程中遇到了一些超时。这不是我需要帮助的问题。我确实需要帮助的问题是,当它到达日志记录部分时,成功将为空,并且 sole.log('Message ' + 使整个 console.log 语句输出“已发送”。没有“消息”,没有失败.

知道为什么吗?

nodemailer.send_mail(
                // e-mail options
                {
                    to:"alexsb92@gmail.com",
                    sender:"alexsb92@gmail.com",
                    subject:"node_mailer test email",
                    html:'<p><b>Hi,</b> how are you doing?</p>',
                    body:'Hi, how are you doing?'
                },
                // callback function
                function(error, success){
                    console.log('Message ' + success ? 'sent' : 'failed');
                }
            );
4

2 回答 2

4

运算符优先级?尝试:

'Message ' + (success ? 'sent' : 'failed')
于 2012-01-30T17:15:22.110 回答
2

这是您的优先操作。运算符的+优先级高于三元运算符,因此,您实际上是在做

console.log(('Message ' + success) ? 'sent' : 'failed');

这总是正确的。相反,请执行以下操作:

console.log('Message ' + (success ? 'sent' : 'failed'));
于 2012-01-30T17:15:38.250 回答