Express JS 中根据请求选择要运行的中间件

Dav*_*alu 5 javascript node.js express

我想知道如何根据端点的请求在两个不同的中间件功能之间进行选择。它可能看起来像这样:

router.post("/findAvailableAgents", middleware1 || middleware2, (req, res) => {
  // endpoint body
})
Run Code Online (Sandbox Code Playgroud)

小智 7

您可以使用另一个中间件来决定是选择middleware1还是middleware2

const decideMiddleware = (req, res, next) => {
    if(condition) {
        return middleware1(req, res,next)
    } else {
        return middleware2(req, res,next)
    }
}
Run Code Online (Sandbox Code Playgroud)

并在您的代码中使用它

router.post("/findAvailableAgents", decideMiddleware, (req, res))
Run Code Online (Sandbox Code Playgroud)