【发布时间】:2018-04-23 01:40:12
【问题描述】:
我整天都在想这个问题,我是一个初学者 nodejs 开发人员,我想知道我什么时候应该将我的代码包装在使用 async/await 的承诺中,什么时候不应该...... 让我们举个例子,我有两个文件:
index.js
var mailer = require('../mailer')
var mailOptions = mailer.mailOptions(......)
mailer.sender(mailOptions)
mailer.js:
module.exports.mailOptions = (.......) => {
....
}
module.exports.sender = (mailOptions) => {
transporter.sendMail(mailOptions, callback(err, info))
}
function callback(err, info) {
}
我是否应该将 sender 函数包装在一个 promise 中,以便像这样调用它:
await mailer.sender(mailOptions)
或者我的例子很好,我不需要承诺? 希望你明白我的意思
编辑 :
我正在使用来自 npm 的 nodemailer 包:
https://www.npmjs.com/package/nodemailer
【问题讨论】:
-
你应该做任何你觉得更舒服的事情。 async / await 模式更容易阅读,但您不需要使用它。
-
这是关于使用 Promise 与回调的问题,还是关于何时使用 async/await 的问题(已经需要 Promise)?
-
看起来您没有为
sendMail提供函数,而是调用callback()的结果似乎不正确。另外,这是 Node Mailer 吗?如果你不通过回调,它不是已经返回了一个承诺吗? -
@link0047 谈论更容易阅读,我认为 await mailer.sender(mailOptions) 或 mailer.sender(mailOptions) 都很容易阅读......如果不是,请解释容易的事情来自哪里
-
@Mark_M 是的,我验证了它并且它不起作用,我只是给
sendMail一个匿名函数并且它现在正在工作......所以在这一点上我不能给它一个命名函数?跨度>
标签: javascript node.js promise async-await