CNode

关于远程抓取数据有一点疑问

Ttofrookie发布于12 年前最后回复12 年前3 回复4054 浏览0 收藏
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)

L
leapon#1·12 年前

end 和 error 可以用一个回调函数。加一个参数表明是从哪个event回调的。

T
tofrookie#2·12 年前
引用 leaponend 和 error 可以用一个回调函数。加一个参数表明是从哪个event回调的。

我现在是在end里有一个回调,当抓取网页有问题时返回数据为空判断的 这样可行么,之后会报连接错误

L
leapon#3·12 年前

可行呀

参与回复
登录后即可参与回复。登录