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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

我在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)

提问于
用户回答回答于

每次调用http.request()都会返回它自己。所以试试像这样.

http.request(options.function(){}).on('error',function(){}).end();
用户回答回答于

尝试这个:

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

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

req.end();

扫码关注云+社区