簡體   English   中英

Node.JS HTTP請求-分離回調函數

[英]Node.JS HTTP Request - Separate The Callback Function

現在,Node HTTP請求的回調必須是請求內的匿名函數,就像這樣...

http.request(params, function(res){
    let data = "";

    res.on("data", function(chunk){
        data += chunk;
    });

    res.on("end", function() {
        console.log(data);
    });
}).end();

我想從相同或不同的文件中將回調分為它自己的聲明函數...這樣...

function handleData(res) {
    let data = "";

    res.on("data", function(chunk){
        data += chunk;
    });

    res.on("end", function(){
        console.log(data);
    });
}

https.request(params, handleData(res));

是否有可能做到這一點? 任何地方都沒有明確的答案。 我好像是第一個嘗試此操作的人。 在此先感謝您的時間!

可能是這樣的:

function handleResponse(res) {...yourcode...};
http.request(params, handleResponse).end();

或這個:

const handleResponse = function (res) {...yourcode...};
http.request(params, handleResponse).end();

要么

const handleResponse = res => {...yourcode...};
http.request(params, handleResponse).end();

要么

const handleResponse = res => {...yourcode...};
const request = http.request(params);
request.end();
request.on('response', handleResponse);

JavaScript和Node.js確實很靈活。

當然,當您將.end()添加到他提供的代碼行的末尾時,elclanrs的注釋就是解決方案。

恩。

http.request(params, handleData).end();

我還有另一個問題,那就是“為什么在通過請求傳遞該函數時我不必提供括號?” 我認為應該看起來更像

handleData()

無論哪種方式,謝謝enclanrs先生!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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