我正在尝试在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 has no method 'on'
的错误信息。
我真的必须要处理这个顶级未捕获的错误吗?目前无论我做什么,整个进程都会退出。
编辑:我找到了一些关于如何创建一个 connection
对象、在其上调用 request
并绑定到 connection
对象上的错误的博客文章,但这难道不会使整个 http.request()
快捷方式失去意义吗?