node.js - express中间件,他是如何知道哪个中间件先处理,哪个中间件后处理的?
PHPz
PHPz 2017-04-17 14:47:22
0
2
721

如题,express中间件,他是如何知道哪个中间件先处理,哪个中间件后处理的?这不用我们管吗?如果我们 有2个自定义中间件有顺序要求,那应该怎么定义呢?

PHPz
PHPz

学习是最好的投资!

全員に返信(2)
小葫芦

リクエストしたパスが「/user」であり、次の 2 つのルートがリクエストに同時に一致すると仮定します。それから

  • 理論的には、これら 2 つのルート一致のミドルウェアが実行されます。

  • 後続のミドルウェアが実行されるかどうかは、前のミドルウェア、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 と呼ばれる配列を通じてこの順序を内部的に維持します。

    xx.stack.push(fn1);
    xx.stack.push(fn2)
    いいねを押す +0
    巴扎黑

    最初に呼び出されるミドルウェアを前に書くだけです。とても簡単です。

    いいねを押す +0
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート