错误 'event handler' 而不是 'handling' ECONNRESET
Error 'event handler' not 'handling' ECONNRESET
我正在使用库请求 post 数据,但我不断收到错误 ECONNRESET,即使我有一个错误事件处理程序。有时我的代码确实处理了错误,但不是每次都如此。
我有一个循环:
request.post(url, {form:{data}}).on('error',
function(err){
if(err === 'ECONNRESET'){
console.log('ECONNRESET')
}
})
并且,如上所述,我仍然收到此错误:
throw er; // Unhandled 'error' event
^ Error: read ECONNRESET
将所有使用 request
的代码包装在 try {}
子句中,然后是
catch (error) {
console.error (error)
}
从您在评论中写的内容来看,您的代理服务器似乎有问题。没有它你能提出请求吗?如果是这样,请尝试。
您也可以尝试使用名为 curl
的命令行程序来发出类似的请求。 curl --verbose
会喋喋不休地谈论它做了什么,让你看到一些关于失败的细节。您没有向我们提供足够的信息,无法提供有关如何使用 curl
的详细建议。这可能有助于代理设置。
似乎 .on('error', ...);
在 N 次后无法捕捉到 ECONNRESET 所以解决 if (afaik now) 的唯一方法是使用 process.on('uncaughtException', function(error) {})
我希望这对其他人有帮助:)
我正在使用库请求 post 数据,但我不断收到错误 ECONNRESET,即使我有一个错误事件处理程序。有时我的代码确实处理了错误,但不是每次都如此。
我有一个循环:
request.post(url, {form:{data}}).on('error',
function(err){
if(err === 'ECONNRESET'){
console.log('ECONNRESET')
}
})
并且,如上所述,我仍然收到此错误:
throw er; // Unhandled 'error' event
^ Error: read ECONNRESET
将所有使用 request
的代码包装在 try {}
子句中,然后是
catch (error) {
console.error (error)
}
从您在评论中写的内容来看,您的代理服务器似乎有问题。没有它你能提出请求吗?如果是这样,请尝试。
您也可以尝试使用名为 curl
的命令行程序来发出类似的请求。 curl --verbose
会喋喋不休地谈论它做了什么,让你看到一些关于失败的细节。您没有向我们提供足够的信息,无法提供有关如何使用 curl
的详细建议。这可能有助于代理设置。
似乎 .on('error', ...);
在 N 次后无法捕捉到 ECONNRESET 所以解决 if (afaik now) 的唯一方法是使用 process.on('uncaughtException', function(error) {})
我希望这对其他人有帮助:)