sab*_*bof 6 javascript node.js express
我有许多类似于以下的中间件功能:
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'});
}
Run Code Online (Sandbox Code Playgroud)
有没有办法将它们包装成一个函数?所以我会做这样的事情:
function respondIfValid(req, res, next) {
// Evoke the following middleware:
// validate
// checkValid
// respond
}
app.use('/', respondIfValid);
Run Code Online (Sandbox Code Playgroud)
代替:
app.use('/', validate, checkValid, respond);
Run Code Online (Sandbox Code Playgroud)
尝试使用以下代码
app.use('/', [validate, checkValid,respond]);
Run Code Online (Sandbox Code Playgroud)
或者
var middleware = [validate, checkValid,respond];
app.use('/', middleware );
Run Code Online (Sandbox Code Playgroud)
需要根据您的执行要求放置该系列中的所有功能。
谢谢
| 归档时间: |
|
| 查看次数: |
2739 次 |
| 最近记录: |