快速 - 在运行时替换中间件



我正在使用Express,我想在运行时替换中间件(停止运行中间件X并开始运行中间件Y(。 我找到了一种简单的方法,但这里没有人将其作为一种选择:

xMiddleware不使用第一个中间件:

app.use(xMiddleware);

我正在用另一个中间件MyMiddlewareWrap包装它:

MyMiddleware = xMiddleware; 
MyMiddlewareWrap = function (req, res, next) 
{
MyMiddleware(req, res, next)
}
app.use(MyMiddlewareWrap);

然后,当我想停止运行 xMiddleware 并开始运行 yMiddleware 时,我将 yMiddleware 分配给 MyMiddleware:

MyMiddleware = yMiddleware; 

结果,xMiddleware不再运行,而yMiddleware正在运行。 有人认为它有问题吗?这是一个好的解决方案吗?

在阅读您的问题时,我完全想到了您的解决方案。

是的,它应该毫无问题地达到预期的结果。

最新更新