小编Moh*_*yeb的帖子

passport.authenticate回调未被执行

我正在开发一个带有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)

javascript node.js express passport.js

2
推荐指数
1
解决办法
3589
查看次数

是否将我的代码包装在承诺中

我整天脑子里都在想这个问题,我是一个初学 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

javascript node.js promise async-await

1
推荐指数
1
解决办法
2298
查看次数