Я пытаюсь поймать ошибки ECONNREFUSED при использовании HTTP-клиента в node.js. Я делаю такие запросы:
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()
ярлык бесполезен?