就像现在一样,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()添加到他提供的代码行的末尾时,eclairs的注释就变成了解决方案。
恩。
http.request(params, handleData).end();
我留下了另一个问题,“为什么在通过请求传递该函数时我不必提供括号?”我认为应该看起来更像
handleData()
无论哪种方式,谢谢你们的收件人!