gpt4 book ai didi

javascript - 快速路由和中间件

转载 作者:行者123 更新时间:2023-12-03 02:33:33 25 4
gpt4 key购买 nike

我正在使用 Angular 色授权 ( connect-roles ),并尝试为每条路由添加多个 Angular 色。这是使用express和monogoose。这是我目前拥有的代码:

 router.get('/admin/:slug', function (req, res) {

if (user.can('vip')) {

adminController.showVipView // <-- this is what I need to work

} else {

// call a different view

}

});

这就是在没有 if 语句的情况下通常的工作方式。这看起来像是 super 基本的表达,但我就是无法让它工作。

router.get('/admin/:slug', user.can('vip'), adminController.showVipView);

最佳答案

只需将请求响应传递给它:

adminController.showVipView(req, res);

它可能还需要 next 回调,那么您也应该将其传递给它......

顺便说一句,您的 if 语句也不起作用,因为它返回一个中间件。可能会这样做:

user.can('vip')(req, res, function(){
adminController.showVipView(req, res);
});

关于javascript - 快速路由和中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48631843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com