【发布时间】:2017-02-06 02:59:17
【问题描述】:
我正在使用别人为express 和passport 编写的函数,它定义中间件(?)如下:
function isLoggedIn(req, res, next) {
if (req.isAuthenticated()){
return next();
}
else{
req.flash('error', 'You need to be logged in to access this page');
res.redirect('/login');
}
}
该函数在路由器中使用如下:
app.get('/page', isLoggedIn, function(req, res){
// ...
});
我不明白的是,不应该用参数req和res调用函数吗?也许回调next 是不必要的,因为它是app.get 的下一个参数,但是函数如何访问req 和res?我希望它被如下调用:
app.get('/page', isLoggedIn(req, res), function(req, res){
// ...
});
如果不指定参数,它是如何工作的?
谢谢,
【问题讨论】:
标签: javascript node.js express