Express中间件函数内调用其他中间件函数
在Express里面我们经常这么设置中间件:
router.post(middleware1, middleware2, middleware3)
现在我想把中间件合并为一个中间件,并添加一些处理逻辑,如:
var auth = function(req, res, next) {
if (req.body.username && req.body.password) {
// 依次调用middleware1, middileware3
}
if(req.body.access_token) {
// 依次调用middleware2, middileware3
}
}
请问这个调用怎么写?
2 回复
@i5ting 我现在是这样实现的:
middleware1(req, res, function() {
middleware3(req, res, next)
})
感觉是hack,比如middleware1中出现next(err)的时候程序就会崩