簡體   English   中英

將參數傳遞給嵌套函數

[英]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()函數中訪問reqres 我需要將所有內容作為參數傳遞嗎?

多謝

您可以使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM