Created
December 14, 2013 19:13
-
-
Save kcpjunky/7963541 to your computer and use it in GitHub Desktop.
node Unhandled 'error' event
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
node.jsのコードをかきはじめた際に、httpモジュールを使ったサーバへのHTTP通信を行うコードを書くと思います。 | |
そのときに、requestオブジェクトに対するイベントリスナーをうっかり書き忘れると以下のエラーが出てきます | |
httpサーバーに対してクライアントとしてHTTP通信するhttpClient.jsを実行したときのエラー | |
よく見かけていたけど意味がわかっていなかった | |
つまり、サーバーにリクエストしたけど、エラーが返った時の処理を書いていなかったため、このエラーがでた | |
throw er; // Unhandled 'error' event | |
^ | |
Error: connect ECONNREFUSED | |
at errnoException (net.js:884:11) | |
at Object.afterConnect [as oncomplete] (net.js:875:19) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var http = require('http'); | |
var options = { | |
host: 'localhost', | |
port: 1337, | |
path: '/', | |
method: 'POST' | |
}; | |
var req = http.request(options,function(res) { | |
var data = ''; | |
res.on('data',function(chunk) { | |
data += chunk; | |
}); | |
res.on('end',function() { | |
console.log(data); | |
}); | |
res.on('error',function(err) { | |
console.log("something wrong"); | |
}); | |
}); | |
//この処理を書いてないからエラーになった | |
//つまり、サーバーに対してリクエストして、エラーが返ったときのリスナーを設定していなかったから | |
//エラーイベントがハンドリングされていないため | |
// req.on('error', function(err) { | |
// console.log("request error"); | |
// }); | |
var msg = 'hello from http client request'; | |
req.setHeader('Content-Length', Buffer.byteLength(msg)); | |
req.write(msg); | |
req.end(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment