我的互联网速度缓慢且不稳定(高峰时段约20KBPS,上午0100~0400可能达到400KBPS)......
所以我会说下载的东西比成功更失败。 ECONNRESET几乎每次都会发生
所有这些限制让我想到尽可能减少互联网连接..
我的代码通常是下载并且如果失败则重试2-3次然后保留它并且永远不会返回哪个是坏的。
我想知道是否可以重试nodejs中的请求库的某些请求并获得成功。 404和ENOTFOUND之类的东西肯定不需要重试,而ECONNRESET肯定需要重试。我真的没有太多线索。
那么什么条件会证明重试可能会给出成功的结果呢? 或者也许是什么条件会证明重试肯定不会产生任何结果?
我找到了更多像EAGAIN这样的东西,可能意味着网站已关闭,但它存在......
答案 0 :(得分:1)
您可以检查回调中的错误对象
var request = require('request');
request('http://www.google.com', function (error, response, body) {
if (error) {
// retry logic
}
if (!error && response.statusCode == 200) {
console.log(body) // Print the google web page.
}
})