[英]How to deal with “Unhandled 'error' event” error - NodeJS
我想嘗試接收Node.js. 這是我正在玩的非常簡單的代碼
var http = require('http'); http.get('www.google.com', function(res) { console.log(res.statusCode); });
運行此代碼時出現以下錯誤
events.js:141
throw er; // Unhandled 'error' event
^
Error: connect ECONNREFUSED 127.0.0.1:80
at Object.exports._errnoException (util.js:837:11)
at exports._exceptionWithHostPort (util.js:860:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1060:14)
在讀取錯誤輸出時,我添加了兩行代碼來處理錯誤事件,如下所示
var http = require('http'); http.get('www.google.com', function(res) { console.log(res.statusCode); res.on('error', function(error) { console.error(error); }); });
但同樣的錯誤信息仍然存在,我在哪里搞砸了?
除非將options
指定為對象,否則必須在http.get
使用URL而不是域名:
options
可以是對象或字符串。 如果options
是一個字符串,則會使用url.parse()
自動解析它。
相比:
var http = require('http');
http.get('http://www.google.com/', function(res) {
console.log(res.statusCode);
});
附:
var http = require('http');
http.get({host:'www.google.com'}, function(res) {
console.log(res.statusCode);
});
這兩項工作。
注意我起初認為這是一個網絡問題,但實際上選項中host
的默認值是localhost
因此當它無法解析字符串並保留默認選項時。 好像代碼是:
var http = require('http');
http.get({}, function(res) {
console.log(res.statusCode);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.