这是使用护照js进行身份验证的代码片段,如下所示,
// Middleware
passport.use('local-login', new LocalStrategy({
usernameField: 'email',
passwordField: 'password',
passReqToCallback: true
}, function(req, email, password, done){
User.findOne({ email: email }, function(err, user) {
if(err) return done(err)
if(!user) {
return done(null, false, req.flash('loginMessage', 'No user has been found'))
}
if(!user.comparePassword(password)) {
return done(null, false, req.flash('loginMessage', 'Incorrect Username/Password'))
}
return done(null, user)
})
}))
在上面的代码中,done 是在多个地方使用的回调函数,但是我想知道这个(done)回调函数在哪里定义,我看到的是它作为参数传递然后调用,所以我的基本问题我怎么知道这个回调会做什么或者它是在哪里定义的。它应该执行一些操作。那么它是在哪里定义的呢?