[英]Pass arguments to nested function
我有一些我想分解的代碼重復。
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
? 我需要將所有內容作為參數傳遞嗎?
多謝
您可以使用Function.prototype.bind()
function requestCallback(_req, _res, error, reponse, body) {
....
}
request(reqOptions, requestCallback.bind(null, req, res));
是的,您只需將req和res作為參數傳遞給requestCallback()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.