【发布时间】:2021-08-24 01:52:34
【问题描述】:
我正在尝试使用一系列中间件。嗯,更像是函数名和数组的组合。
而不是:
router.post('/editPassword', validate, changePassword, sendConfirmation);
我想要类似的东西:
router.post('/editPassword', validate, [changePassword, sendConfirmation] );
看起来像:
router.post('/editPassword', validate, doAction );
doAction 是这样的数组:
var doAction = [
//equivalent of changePassword
function(req, res, next){
//whatever
next();
},
//equivalent to the previous sendConfirmation
function(req, res, next){
//whatever
}
]
但它似乎失败并在doAction 的第一个函数中的next() 之后返回validate 步骤。
我正在寻找一种方法来简化中间件链接,包括一些同名的中间件步骤。
【问题讨论】:
-
您是否尝试过将
validate也放入数组中以用于测试目的? -
你能解释一下“回到
validate这一步”吗?它会再次调用那个中间件吗? -
对不起,我的错。它似乎工作得很好。我忘记了
next()之后的退货声明。所以......现在我想知道,为什么要使用 compose-middleware 如果它工作得很好呢?
标签: javascript node.js express