用http.request在node.js中捕获ECONNREFUSED?

在node.js中使用HTTP客户端时,我试图捕获ECONNREFUSED错误.我正在提出如下要求:

var http = require('http');
var options = { host: 'localhost', port: '3301', path: '/', method: 'GET' };

http.request(options).on('response', function (res) {
  // do some stuff
});

我不知道如何抓住这个错误:

Error: connect ECONNREFUSED
  at errnoException (net.js:614:11)
  at Object.afterConnect [as oncomplete] (net.js:605:18)

如果我要request.on(‘error’,function(){});它没有抓住它.如果我这样做:

var req = request.on(etc)
req.on('error', function blah () {});

然后我得到TypeError:Object false没有方法’on’.

我真的要做一个顶级的未捕获的错误的事情来处理这个吗?无论我做什么,我的整个过程都退出了.

编辑:我发现一些关于如何通过创建连接对象,调用请求,然后绑定到连接对象上的错误,但是不会使整个http.request()快捷方式无效的博客文章?

任何原因你不使用 http://nodejs.org/docs/v0.6.5/api/http.html#http.request作为你的基地?尝试这个:

var req = http.request(options, function(res) {
  // Bind 'data', 'end' events here
});

req.on('error', function(error) {
  // Error handling here
});

req.end();
相关文章
相关标签/搜索