如何在json请求中检查连接失败?

时间:2016-06-09 09:07:31

标签: json node.js

我在node.js工作并发送我要检查的json请求,同时发送requset服务器连接或超时,如果超时,那么我需要显示错误无法与此URL建立连接。

request({
            url: "http://example.com/service/register/",
            method: "POST",
            headers: {
                "content-type": "application/json",
            },
            body: spostData
        },
        function(err1,result,registerresponse){

});

1 个答案:

答案 0 :(得分:0)

有两种主要类型的超时:连接超时读取超时

  • 如果在客户端尝试与远程计算机建立连接时达到超时,则会发生连接超时。

  • 只要服务器太慢而无法发回部分响应,就会发生读取超时。

您可以通过检查err.code的“ ETIMEDOUT ”值来检测超时错误。此外,您可以通过检查err.connect属性是否设置为 true 来检测超时是否为连接超时。

request({
            url: "http://example.com/service/register/",
            method: "POST",
            headers: {
                "content-type": "application/json",
            },
            timeout: 1500,
            body: spostData
        },
        function(err,result,registerresponse){
         if(err){

          if(err.code === 'ETIMEDOUT'){ 

           if(err.connect === true)
              console.log('connection timeout');
           else 
              console.log('read timeout');
          }           
         }
});