关于远程抓取数据有一点疑问
发布于 10个月前 作者 tofrookie 526 次浏览
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里有一个回调,当抓取网页有问题时返回数据为空判断的 这样可行么,之后会报连接错误

回到顶部