Javascript 错误';事件处理程序&x27;不是';处理';经济网

Javascript 错误';事件处理程序&x27;不是';处理';经济网,javascript,node.js,sockets,request,econnreset,Javascript,Node.js,Sockets,Request,Econnreset,我正在使用库请求发布数据,但我不断得到错误ECONNRESET,即使我有一个“错误事件处理程序”。有时我的代码确实会处理错误,但在N次(似乎N是随机的)之后,它就会停止处理错误,并停止我的脚本 我对此有一个循环: request.defaults({'proxy': proxy}) request.post(url, {form:{data}}) .on('error', function(err) { if(err === 'ECONNRESET') { console.log('E

我正在使用库请求发布数据,但我不断得到错误ECONNRESET,即使我有一个“错误事件处理程序”。有时我的代码确实会处理错误,但在N次(似乎N是随机的)之后,它就会停止处理错误,并停止我的脚本

我对此有一个循环:

request.defaults({'proxy': proxy}) 
request.post(url, {form:{data}})
 .on('error',    function(err) { if(err === 'ECONNRESET') { console.log('ECONNRESET') }});
N次之后,我得到了

        throw er; // Unhandled 'error' event
        ^ Error: read ECONNRESET
我没有对发布数据的服务器的完全访问权限。 我已经试过longjohn了,但似乎不起作用


如果这是一个重复的问题,我很抱歉,但我找不到任何明确的答案:(

try{}
子句中使用
request
包装所有代码,后跟

catch (error) {
  console.error (error)
}
从您在评论中所写的内容来看,您的代理服务器似乎有问题。您可以在没有代理服务器的情况下发出请求吗?如果可以,请尝试


您也可以尝试使用名为
curl
的命令行程序来发出类似的请求。
curl--verbose
会喋喋不休地谈论它的功能,让您了解失败的细节。您没有提供足够的信息来允许我们提供有关如何使用
curl
的详细建议。这可能对pr有所帮助氧气设置。

try{}
子句中使用
request
包装所有代码,后跟

catch (error) {
  console.error (error)
}
从您在评论中所写的内容来看,您的代理服务器似乎有问题。您可以在没有代理服务器的情况下发出请求吗?如果可以,请尝试

您也可以尝试使用名为
curl
的命令行程序来发出类似的请求。
curl--verbose
会喋喋不休地谈论它的功能,让您了解失败的细节。您没有提供足够的信息来允许我们提供有关如何使用
curl
的详细建议。这可能对pr有所帮助氧设置。

看起来像是
.on('error',…);
在N次之后无法捕获EconReset,因此解决(现在是afaik)的唯一方法是使用
进程。on('uncaughtException',function(error){})

我希望这能帮助其他人:)

看起来像是
.on('error',…)在N次之后无法捕获EconReset,因此解决if(afaik now)的唯一方法是使用
process.on('uncaughtException',function(error){})


我希望这对其他人有所帮助:)

尝试记录
err.message
err.stack
可能会为您提供有关错误性质的更多信息。另外@KooiInc嗯,我认为我不能使用err.message,因为错误本身没有被捕获(?)。但是当我的代码捕捉到它时,我得到了:“隧道套接字无法建立,因为=读取ECONNRESET”谢谢。如果
上的
err
处理程序(“error”,…)
不是某种
error
对象,我会感到惊讶。@kooinc,我的意思是,还有什么可以呢?我有一个
on(“error”,…)
处理程序,但仍然得到
未处理的“error”事件。我已经尝试删除代码的这一部分(这是代码的主要部分),以查看是否仍然会出现此错误,但我没有出现此错误。感谢您的回答:)尝试记录
err.message
err.stack
可能会为您提供有关错误性质的更多信息。另外@KooiInc嗯,我认为我不能使用err.message,因为错误本身没有被捕获(?)。但是当我的代码捕捉到它时,我得到了:“隧道套接字无法建立,因为=读取ECONNRESET”谢谢。如果
上的
err
处理程序(“error”,…)
不是某种
error
对象,我会感到惊讶。@kooinc,我的意思是,还有什么可以呢?我有一个
on(“error”,…)
处理程序,但仍然得到
未处理的“error”事件。我已经尝试删除代码的这一部分(这是代码的主要部分),以查看是否仍然会出现此错误,但我没有出现此错误。感谢您的回答:)我尝试使用
try{}
然后
catch(error)
但是它没有改变任何事情,错误仍然没有得到处理,导致我的代码停止:(.遗憾的是,我不能不使用代理。由于我使用了许多代理,有些可以工作,有些不能,一个或多个代理可能有问题。问题是,
.on('error',…)
无法处理错误:/无论如何,感谢您的帮助!我尝试使用
try{}
然后
捕获(error)
但它没有改变任何东西,错误仍然没有得到处理,导致我的代码停止:(.遗憾的是,我不能不使用代理。因为我使用了许多代理,有些工作,有些不工作,一个或多个代理可能出了问题。
.on('error',…)
无法处理错误:/无论如何,感谢您的帮助!