我正在开发一个带有nodejs v8.7.0的后端,用于使用护照和本地护照进行身份验证,我之前使用过这一切,一切顺利,但现在我不知道是什么问题,这是我的代码:
我的策略:
var passport = require('passport')
var LocalStrategy = require('passport-local').Strategy
passport.use('local', new LocalStrategy({
usernameField: 'email'
},
function (email, password, done) {
User.findOne({
email: email,
is_admin: false
}, function (err, user) {
if (err) {
return done(err)
}
// Return if user not found in database
if (!user) {
return done(null, false, {
message: 'User not found'
})
}
// Return if password is wrong
if (!user.validPassword(password)) {
return done(null, false, {
message: 'Password is wrong'
})
}
// If …Run Code Online (Sandbox Code Playgroud)我整天脑子里都在想这个问题,我是一个初学 nodejs 开发人员,我想知道什么时候我应该把我的代码包装在一个使用 async/await 的承诺中,什么时候我不应该......让我们举个例子,我有两个文件:
索引.js
var mailer = require('../mailer')
var mailOptions = mailer.mailOptions(......)
mailer.sender(mailOptions)
Run Code Online (Sandbox Code Playgroud)
邮件程序.js:
module.exports.mailOptions = (.......) => {
....
}
module.exports.sender = (mailOptions) => {
transporter.sendMail(mailOptions, callback(err, info))
}
function callback(err, info) {
}
Run Code Online (Sandbox Code Playgroud)
我应该将 sender 函数包装在一个承诺中,像这样调用它:
await mailer.sender(mailOptions)
Run Code Online (Sandbox Code Playgroud)
或者我的例子很好,我不需要承诺?希望你明白我的意思
编辑:
我正在使用 npm 中的 nodemailer 包:https ://www.npmjs.com/package/nodemailer