如何在http.get上捕获错误

时间:2017-10-19 01:04:40

标签: javascript node.js ecmascript-6

我有一些看起来像这样的http.get代码

http.get(url, function (response) {
    var data = '';
    response.on('data', function (x) {
        data += x;
    });
    response.on('end', function () {
        var json = JSON.parse(data);
        console.log(json);
    });
});

如果提供了无效的URL / API端点,如何处理错误?

1 个答案:

答案 0 :(得分:2)

您可以通过检查状态error示例处理http.get错误: -

http.get(url, function (response) {
        response.on('error', function (err) {
          //do some thing , error  handling
          console.log(err);
        });
    });

您可以验证url  验证响应代码& ping域或网址

1 - 验证响应代码: -

http.get(url, function (response) {
   if(response.statusCode !== 200){
     //error happens
   }
    });

使用此repo valid-url对给定网址进行2- ping: -

var validUrl = require('valid-url');

if (!validUrl.isUri('apiUrl')){
   //error not valid url 
}