Javascript axios post请求挂起有效请求

Javascript axios post请求挂起有效请求,javascript,node.js,axios,Javascript,Node.js,Axios,我在nodejs应用程序中使用axios向其他服务发送请求。 当我发送请求并得到5xx或4xx错误代码的响应时,axios会很好地处理请求并将错误返回给客户端。 当请求结构良好时,它只是挂起,axios发送的承诺永远不会解决,让客户端无限期地挂起等待响应。 我不知道是什么导致只有有效的请求挂起,也不知道如何进一步调试。 到目前为止我试过的东西- 使用邮递员发送既失败又有效的请求-它们按预期返回错误代码和OK代码。 在VScode中调试节点进程时,我可以看到axios正在无限期地进行内部循环,等待

我在nodejs应用程序中使用axios向其他服务发送请求。 当我发送请求并得到5xx或4xx错误代码的响应时,axios会很好地处理请求并将错误返回给客户端。 当请求结构良好时,它只是挂起,axios发送的承诺永远不会解决,让客户端无限期地挂起等待响应。 我不知道是什么导致只有有效的请求挂起,也不知道如何进一步调试。 到目前为止我试过的东西-

使用邮递员发送既失败又有效的请求-它们按预期返回错误代码和OK代码。 在VScode中调试节点进程时,我可以看到axios正在无限期地进行内部循环,等待承诺得到解决,但我还不明白是什么阻止了承诺的解决。 axios版本有点过时,所以我尝试过更新它,但这会产生新问题,所以我决定将其拨回原始版本。 有关应用程序版本的一些信息(如相关)——

节点版本-v9.11.1 axios verion-0.9.1 axios请求片段,出于安全原因进行了修订-

const Router=require'express'。路由器; const路由器=路由器; const axios=需要“axios”。创建{ baseURL:'https://some-service.com' }; const auth handler=需要“auth-handler”; 路由器。post'/',req,res=>{ auth handler.getToken'token-name' .thentoken=>{ 常数体={ 主题:主题,, 身体:身体 }; 常量选项={ 标题:{ “授权”:“持票人”+代币, “内容类型”:“应用程序/json” } }; 返回axios.post'/'+req.body.route+'/endpoint?foo=bar',body,options; } .thenresponse=>res.statusresponse.status.sendresponse.data .catcherror=>{ 控制台错误; res.statuserror.status.senderror.data; };
}; 对此的答案是,axios已经按照预期解决了承诺问题,只是在我的程序的客户端上没有关于它的指示,只是在表单中正确地指示了错误


我添加了2xx响应的指示,现在一切又恢复正常。

面临类似问题。Axios将陷入instancerequest步骤。在URL中将https替换为http解决了此问题。

您确定要发布到其他服务吗?axios.post'/'+请求正文.route+'。。。也许你在同一个服务上发帖,然后用你的快速路由器循环?我肯定。正如您所见,当我定义axios时,另一个服务是在baseURL中定义的,就像我写的一样-如果请求格式错误或无效,我将从另一个服务获得预期的4xx。如果您控制了另一个服务,你有没有试过记录请求的标题来找出axios呼叫和postman呼叫之间的区别?我一直在尝试避免它,因为另一个服务是传统的,对它的可见性不是很好,但我想是时候脱掉手套了。谢谢。或者你可以设置一个间谍来监视你计算机上的传出请求。祝你好运你到底做了什么?