【发布时间】:2017-02-04 07:51:40
【问题描述】:
我无法理解 Passport.js 的自定义回调发生了什么。我不明白最后的(req, res, next)。我们应该从闭包中获得这些值吗?
app.get('/login', function(req, res, next) {
passport.authenticate('local', function(err, user, info) {
if (err) { return next(err); }
if (!user) { return res.redirect('/login'); }
req.logIn(user, function(err) {
if (err) { return next(err); }
return res.redirect('/users/' + user.username);
});
})(req, res, next); //<=== What is the purpose of this?
});
【问题讨论】:
-
这是一个自调用函数。它称自己将 req、res 和 next 作为参数传递。 jsfiddle.net/ccestd3o
标签: javascript node.js express passport.js