我发现
这段代码摘自这里。可以看到,在某些情况下,一个
done()
方法(或者我的调试器告诉我是success()
)有第三个参数,叫做info
。请问这个参数传入的值会发生什么?
编辑
我所指的done()
方法是我们必须在策略回调函数中调用的方法。例如:var passport = require('passport')
, LocalStrategy = require('passport-local').Strategy;
passport.use(new LocalStrategy(
function(username, password, done) {
User.findOne({ username: username }, function (err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: 'Incorrect username.' });
}
if (!user.validPassword(password)) {
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, user);
});
}
));
这段代码摘自这里。可以看到,在某些情况下,一个
message
会作为第三个参数以对象的形式传递给done()
函数。我们怎样才能在路由方法中访问这个message
呢?