Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js nodejs请求知道何时重试_Node.js_Request - Fatal编程技术网

Node.js nodejs请求知道何时重试

Node.js nodejs请求知道何时重试,node.js,request,Node.js,Request,我的互联网速度慢且不稳定(高峰时间约20KBPS,凌晨1点到4点可能达到400KBPS) 所以我要说的是,下载失败的次数比成功的次数要多。 经济衰退几乎每次都会发生 所有这些限制使我想到尽可能少地使用互联网连接 我的代码通常是下载并重试2-3次,如果它失败了,然后离开它,永远不会返回,这是坏的 我想知道nodejs中带有请求库的一些请求是否可以重试并成功。像404和ENOTFOUND这样的东西肯定不需要重试,而EconReset肯定需要重试。关于这件事我真的没有多少线索 那么,什么样的条件可以证

我的互联网速度慢且不稳定(高峰时间约20KBPS,凌晨1点到4点可能达到400KBPS)

所以我要说的是,下载失败的次数比成功的次数要多。 经济衰退几乎每次都会发生

所有这些限制使我想到尽可能少地使用互联网连接

我的代码通常是下载并重试2-3次,如果它失败了,然后离开它,永远不会返回,这是坏的

我想知道nodejs中带有请求库的一些请求是否可以重试并成功。像404和ENOTFOUND这样的东西肯定不需要重试,而EconReset肯定需要重试。关于这件事我真的没有多少线索

那么,什么样的条件可以证明重试可以带来成功的结果呢? 或者,什么样的条件可以证明重试肯定不会有结果


我发现了更多需要检查的东西,比如EAGAIN,这可能意味着一个网站已关闭,但它仍然存在…

您可以在回调中检查错误对象

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.
    }
})

我的问题更多的是检查什么,而不是如何检查,但如果有人向我解释这两个问题,我将不胜感激..我知道我知道,我可以检查error.code和response.statusCode,但我需要知道什么条件肯定会让我知道我可以重试,并且它可以成功下载,而不是我在问题中提到的,因为我认为我在问题中提到的条件是要缩小范围,并且我必须错过一些其他条件。