关于远程抓取数据有一点疑问
http.get("http://cnodejs.org/", function(res) {
var chunks = [];
res.on('data', function(chunk){
size += chunk.length;
chunks.push(chunk);
});
res.on('end', function(){
var data = Buffer.concat(chunks, size);
console.log(data.toString())
});
}).on('error', function(e) {
console.log("Got error: " + e.message);
});
上面是最简单一种形式,一般会在end里加个回调之类的, 当要抓取网页打不开的时候,会进入error,然后提示connect error之类的, 但是我发现,会先进入end里的function,之后才会报错,这要怎么处理合理呢 不像ajax有个succeed和error
3 回复
end 和 error 可以用一个回调函数。加一个参数表明是从哪个event回调的。
我现在是在end里有一个回调,当抓取网页有问题时返回数据为空判断的 这样可行么,之后会报连接错误
可行呀