如何在Express中通过中间件?

时间:2017-01-30 10:32:33

标签: node.js express

如果通过中间件M2并且如果某些条件已满,则跳转到M3。

var middleware = [M1,M2,M3];
app.post('/order/', middleware, finalMethod);

2 个答案:

答案 0 :(得分:0)

您可以使用Express Conditional Middleware

var conditional = require('express-conditional-middleware');

var middlewares = [M1,M2,M3];
app.post('/order/', conditional.apply(null, middlewares));

答案 1 :(得分:0)

或者对于更复杂的逻辑,您可以使用此: Express Conditional Tree Middleware

查看文档,它易于使用并提供功能,以便您也可以将它与异步中间件一起使用!对于您的示例,我想您可以在M1和M2中间件之间使用orChainer,因此如果M1已满足,则不会执行M2并将此orChainer置于andChainer(其作为树)与M3中间件一起。希望你发现这个有用,祝你好运! :)