Node.js 如何使用Axios处理NodeJs中的套接字挂起错误

Node.js 如何使用Axios处理NodeJs中的套接字挂起错误,node.js,typescript,post,axios,Node.js,Typescript,Post,Axios,我正在使用Axios从nodejs调用post API。有时它会抛出套接字挂起错误。 我看到了解决此问题的方法,如捕获此错误并再次重试请求。 但由于这是一个更新数据库中某些细节的post请求,我们不能再点击它 const httpsAgent = new https.Agent({ rejectUnauthorized: false }); const response = await axios({ url, method: Constants

我正在使用Axios从nodejs调用post API。有时它会抛出套接字挂起错误。 我看到了解决此问题的方法,如捕获此错误并再次重试请求。 但由于这是一个更新数据库中某些细节的post请求,我们不能再点击它

  const httpsAgent = new https.Agent({
      rejectUnauthorized: false
    });

const response = await axios({
      url,
      method: Constants.POST,
      data,
      httpsAgent,
      proxy: false,
      headers: {
        "Content-Type": "application/json",
        Authorization: bearerToken
      }
    });
我们得到的错误是:套接字挂起

有人知道如何解决这个问题吗


我们已经在aws中将此nodejs代码创建为Lambda,我们正在调用的API在EC2服务器中。

另一端的服务器是您的吗?还是别人的?如果它是你的,我会说你应该首先弄清楚为什么你会遇到问题,并尝试解决它。然后,您可以实现某种类型的客户端生成的
postID
,以防止重试时出现重复的帖子。然后,在目标服务器上进行一些调试,并找出它删除连接的原因。服务器或AWS基础结构中可能出现超时?未能始终发送响应?错误处理不当?可能有很多东西。嗨@jfriend00,服务器是我们的。它是一个应用范围有限的SpringREST控制器。不,它在一个500请求中有一两次出现此故障。不确定这是AWS问题还是API负载处理问题。如果是,您必须修复挂起问题,或者需要实施客户端重试,该重试可能会受到保护,以防止重复,并在每个请求中使用某种特定于请求的、客户端生成的ID(以便服务器可以判断它是否是重复的POST)。我认为您可以在目标服务器上实现一些诊断,在您打算关闭套接字之前跟踪何时发生挂起,并尝试获取有关何时/为什么发生挂起的数据。