如何将多个中间件function包装成一个?
我有一些类似于以下的中间件函数:
function validate(req, res, next) { req.validationError = new Error('invalid'); } function checkValid(req, res, next) { if (req.validationError) { next(req.validationError); } else { next(); } } function respond() { res.json({result: 'success'}); }
有没有办法将它们包装成一个函数? 所以我会做这样的事情:
function respondIfValid(req, res, next) { // Evoke the following middleware: // validate // checkValid // respond } app.use('/', respondIfValid);
代替:
app.use('/', validate, checkValid, respond);
尝试下面的代码
app.use('/', [validate, checkValid,respond]);
要么
var middleware = [validate, checkValid,respond]; app.use('/', middleware );
需要将该系列中的所有function作为您的执行要求。
谢谢