我是一个Node.js的新手,如果我没有理解明显之处,请原谅我。 在Node.js的Express应用程序中,对于app.get函数,我们通常将路由和视图作为参数传递。 例如:
app.get('/users', user.list);
但在passport-google示例中,我发现他们将其称为:
app.get('/users', ensureAuthenticated, user.list);
ensureAuthenticated 是一个函数
function ensureAuthenticated(req, res, next) {
if (req.isAuthenticated()) { return next(); }
res.redirect('/login')
}
简而言之,这意味着有多个回调函数,当它们运行时会按顺序依次调用。我尝试添加了几个更多的函数,使其看起来像是
app.get('/users', ensureAuthenticated, dummy1, dummy2, user.list);
我发现ensureAuthenticated、dummy1、dummy2和user.list是按顺序依次调用的。对于我的具体要求,我认为在上述形式中依次调用函数是一种很优雅的解决方案,而不是使用async series。能否有人解释一下它是如何工作的,以及我如何在一般情况下实现类似的功能。