节点http.request():与var ClientRequest和callbackFn的关系
Node http.request () : the relationship with var ClientRequest and callbackFn
我是Node.js的新手。
我正在尝试进一步探索Node.js API。
我参考并编写了一个爬虫程序,代码运行正常。
我已成功将评论发布到网站。
但是我对返回类clientRequest和
的执行顺序感到困惑callbackFn .
var req = http.request(urlRequest,function(res){
console.log("Status: "+res.statusCode);
console.log("headers: "+JSON.stringify(res.headers));
res.on("data",function(chunk){
console.log(Buffer.isBuffer(chunk));
console.log(typeof chunk);
});
res.on("end",function(){
console.log("comment success!");
});
});
req.on('error',function(e) {
console.log("Error :"+e.message);
});
req.write(postData);
req.end();
我最初对步骤的理解如下:
1) http.request(urlRequest
2) function(res)
var req
但是从代码来看,似乎我的理解是错误的。
应该是clientRequest-class-object var req
'write'注释和
取它'end',然后触发callbackFn function(res)
。
请分享你的意见,并告诉我更多关于这个API。
谢谢,最好的方面。
这似乎是http的异步性质。请求可能引起您的困惑。
基本上,请求调用将被发出——这需要一些时间。与此同时,JS将继续执行request .write()等。
你应该看看eventemitter,你已经在请求回调中使用它们了。res.on("data",function(chunk)
)。
res.on("end",function(){
console.log("comment success!");
requestWrite();
});
function requestWrite(){
req.write(postData);
req.end();
}