如何解决AxiosError: ECONNRESET(语言-javascript)

我在nodejs上循环请求某个url来拿不同的商品信息

img


结果它会非常随机地给我报错,有时候不报,有时候报一个两个甚至多个,每次报错都是不同的商品id, 有时候是read ECONNRESET的错,有时候是socket hang up的错,导致我不能完整地拿回所有数据,我已经将超时时间设为60s,还是不行,axios.defaults.timeout = 60 * 1000;该如何解决此类错误?谢谢!

img

img

我觉得问题是变量的定义问题如图

img


不用每一次循环都还要重新定义变量,这会导致变量混乱吧,从而有些变量不可用,可以将它写在循环体外,如:var
actions={},和var products=【】,var i,之后循环 for (i=0;i<products.lenth;i++){actions.push();products.push()}

建议使用Promiseasync await 或者递归改为同步。

方法一:可能是请求头设置的问题,发送选项中需要加上headers字段信息(这个估计也和对方的服务器有关,对于不完成的get请求头,可能被丢弃了)。
方法二:https请求库更换成Unirest库

Nodejs发送https Post请求时出现socket hang up错误的解决办法汇总https://blog.csdn.net/qappleh/article/details/100992065

https://xxx.com/http://xxx.com/ 一定要区分清楚,并且一定得添加 http:// 。
所有会设置端口号的地方(前台和后台允许跨域访问等),
看看是否设置了代理服务器
这是 NodeJS 的一个已知问题,现已解决。有关详细信息,请参阅http.Agent:空闲套接字抛出未处理的 ECONNRESET。
https://github.com/nodejs/node/issues/3595