Javascript 错误';事件处理程序&x27;不是';处理';经济网
我正在使用库请求发布数据,但我不断得到错误ECONNRESET,即使我有一个“错误事件处理程序”。有时我的代码确实会处理错误,但在N次(似乎N是随机的)之后,它就会停止处理错误,并停止我的脚本 我对此有一个循环: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
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',…)
无法处理错误:/无论如何,感谢您的帮助!