我发现该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);
});
}
));
片段来自这里。可以看出,在某些情况下, amessage
作为第三个参数传入对象中done()
。我们如何message
在路由方法中访问它?