之前做一个Demo项目需要调用第三方的接口获取数据,最开始想到的是使用Node版本的jQuery,后来想想还是用原生的http.get方法实现吧,但是这里遇到了一个问题,如果第三方接口出了问题,例如服务器未启动而无法访问的时候就会导致http.get方法报错,Node中的回调方法中默认第一个参数为err,但是http.get方法中没有这么个参数,也就无法直接处理,查询官方文档也没有见到对于http.get方法的错误处理。
经过多次尝试以及对文档中的http.request方法的比较得出了处理办法,那就是绑定事件监听就好了,最后附代码:
var options = {
host: '192.168.2.22',
port: 8080,
path: '/'
};
var req = http.get(options, function(res) {
res.setEncoding('utf8');
res.on('data', function(chunk) {
//数据拼接
}).on('end', function() {
//数据处理
}).on('error', function(err) {
//访问的错误处理,注意,这里是无法得到类似于无法连接的错误
});
});
req.on('error', function(err){
//错误处理,处理res无法处理到的错误
});