私は分解したいコードの重複をいくつか持っています。ネストされた関数への引数の受け渡し
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()
機能でreq
とres
にアクセスできますか?私は議論としてすべてを渡す必要がありますか?あなたがはい、あなたは単にrequestCallback(引数としてREQとRESを渡すことができFunction.prototype.bind()
function requestCallback(_req, _res, error, reponse, body) {
....
}
request(reqOptions, requestCallback.bind(null, req, res));
@trincotを更新しました。 – guest271314
これは私が探していたものです:) thx – DlafCreative