小编Tus*_*kar的帖子

在表达多个回调如何在app.get中工作

我是节点中的新手,所以如果我不明显,请原谅我.在node.js表达app.get函数的应用程序中,我们通常将路由和视图作为参数传递,例如

app.get('/users', user.list);
Run Code Online (Sandbox Code Playgroud)

但在护照 - 谷歌的例子中,我发现他们称之为

app.get('/users', ensureAuthenticated, user.list);
Run Code Online (Sandbox Code Playgroud)

其中ensureAuthenticated是一个函数

function ensureAuthenticated(req, res, next) {
    if (req.isAuthenticated()) { return next(); }
    res.redirect('/login')
}
Run Code Online (Sandbox Code Playgroud)

简而言之,这意味着有多个回调在运行时被串联调用.我尝试添加几个更多的功能,使它看起来像

app.get('/users', ensureAuthenticated, dummy1, dummy2, user.list);
Run Code Online (Sandbox Code Playgroud)

我发现ensureAuthenticated,dummy1,dummy2,user.list被串联调用.

对于我的特定要求,我发现在上面的形式顺序调用函数是相当优雅的解决方案,而不是使用异步系列.有人可以解释一下它是如何工作的以及我如何能够实现类似的功能.

asynccallback node.js express

13
推荐指数
1
解决办法
8190
查看次数

标签 统计

asynccallback ×1

express ×1

node.js ×1