2016-03-05 142 views
0

服务器发送503错误,但res.on('error')函数不打印它。https对错误功能没有捕获503错误

https.get(url, function(res){ 
      var body = ''; 

      res.on('data', function(chunk){ 
       body += chunk; 
      }); 

      res.on('error', function(err) { 
       console.log(err); 
      }); 

      res.on('end', function(){ 
       var response = JSON.parse(body); 
       console.log(response.stream); 

       }); 
     }); 

回答

0

HTTP错误状态码不会触发error事件,因为它们是更高级别的错误。 error事件的http.request()/https.request()会之类的东西突然断开插座,畸形反应(例如坏块传输编码)等

你可以简单地检查res.statusCode如果您需要在503例的情况下执行不同的逻辑。