错误 '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) {})

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