如题,express中间件,他是如何知道哪个中间件先处理,哪个中间件后处理的?这不用我们管吗?如果我们 有2个自定义中间件有顺序要求,那应该怎么定义呢?
学习是最好的投资!
リクエストしたパスが「/user」であり、次の 2 つのルートがリクエストに同時に一致すると仮定します。それから
理論的には、これら 2 つのルート一致のミドルウェアが実行されます。
後続のミドルウェアが実行されるかどうかは、前のミドルウェア、next()
next()
app.get('/user', function(req, res, next){ console.log('1'); 次(); }); app.get('/user', function(req, res, next){ console.log('2'); res.send('ユーザー'); });
Express は、stack と呼ばれる配列を通じてこの順序を内部的に維持します。
stack
xx.stack.push(fn1); xx.stack.push(fn2)
最初に呼び出されるミドルウェアを前に書くだけです。とても簡単です。
リクエストしたパスが「/user」であり、次の 2 つのルートがリクエストに同時に一致すると仮定します。それから
理論的には、これら 2 つのルート一致のミドルウェアが実行されます。
後続のミドルウェアが実行されるかどうかは、前のミドルウェア、
next()
Express は、
stack
と呼ばれる配列を通じてこの順序を内部的に維持します。最初に呼び出されるミドルウェアを前に書くだけです。とても簡単です。