2017-05-03 9 views
0

が動作していない、私はthis answerオーバーライドExpressjs応答は、私はそれを返す前に、応答本体を変更したい

からソリューションを使用してきました。しかし、それは動作しませんでした、ここに私のコードは次のとおりです。

app.jsルータで

function modify(req, res, next) { 
    var json = res.json; 
    console.log("step 1"); 
    res.json = function(data) { 
    console.log("step 2"); 
    json.call(this, "modified"); 
    }; 
    next(); 
} 
app.use(modify); 

router.get('/',(req,res,next)=>{ 
    res.json('Welcome') 
    next() 
}) 

ミドルウェアは、Cとなっていますalledしかし、オーバーライド関数(ステップ2)が呼び出されたことはありません、私のコードで何が間違っているか教えてください、ありがとう!

+0

を渡すために? – Shaharyar

+0

@Shaharyarレスポンスボディに何らかの情報を追加する関数 – meobeo173

+0

あなたの質問にもその関数を追加する – Shaharyar

答えて

0

次利用()のみに `wrap`機能は何をするのか、次の関数に

router.get('/',(req,res,next)=>{ 
    if(wantToStop=='true'){ 
     res.json('Welcome') 
    }else{ 
     next() 
    } 

}) 
関連する問題