2016-12-09 25 views
0

私は分解したいコードの重複をいくつか持っています。ネストされた関数への引数の受け渡し

app.post('/login', (req, res) =>{ 
    reqOptions = {...}; 
    request(reqOptions, (error, response, body) => { 
     if (!error) { 
      res.statusCode = response.statusCode; 
      res.json(body) 
     } 
     else { 
      res.statusCode = 503; 
      res.json(body) 
     } 
    }); 
}); 

このように、requestコールバックのロジックは常に同じである、と私は、再利用可能な機能の中にそれを取得する方法を探してみてください:私の問題がある

function requestCallback(error, reponse, body) { 
    .... 
} 

app.post('/login', (req, res) =>{ 
    reqOptions = {...}; 
    request(reqOptions, requestCallback); 
}); 

:どのようにすることができますrequestCallback()機能でreqresにアクセスできますか?私は議論としてすべてを渡す必要がありますか?あなたがはい、あなたは単にrequestCallback(引数としてREQとRESを渡すことができFunction.prototype.bind()

function requestCallback(_req, _res, error, reponse, body) { 
    .... 
} 

request(reqOptions, requestCallback.bind(null, req, res)); 

答えて

-1

を使用することができます

多くのTHX

関連する問題