成功 ? “已发送” :“失败”默认为“已发送”成功=空。为什么?

发布于 2024-12-31 22:32:54 字数 1017 浏览 1 评论 0原文

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

知道为什么吗

nodemailer.send_mail(
                // e-mail options
                {
                    to:"[email protected]",
                    sender:"[email protected]",
                    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');
                }
            );

I'm playing around with emailing from nodeJS (using the nodemailer lib), and I'm currently hitting some timeouts on the whole mailing process. That's not the problem I'd need help with. The problem I do need help with is that success will be null when it hits the logging part, and sole.log('Message ' +that makes the whole console.log statement to output "sent". No "Message", no failed.

Any idea why?

nodemailer.send_mail(
                // e-mail options
                {
                    to:"[email protected]",
                    sender:"[email protected]",
                    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');
                }
            );

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

难忘№最初的完美 2025-01-07 22:32:54

运算符优先级?尝试:

'Message ' + (success ? 'sent' : 'failed')

Operator precedence? Try:

'Message ' + (success ? 'sent' : 'failed')
情泪▽动烟 2025-01-07 22:32:54

这是您的操作优先级。 + 运算符比三元运算符具有更高的优先级,因此,您实际上在执行

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

Which is 总是 true 的操作。相反,请执行以下操作:

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

It's your priority of operations. The + operator has higher precedence than the ternary operator, and as such, you're actually doing

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

Which is always true. Instead, do:

console.log('Message ' + (success ? 'sent' : 'failed'));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文