node.jsは初めてですが、setTimeoutを使用して長い接続をシミュレートし、非同期で動作することを期待しました。
var http = require('http');
http.createServer(function (request, response) {
console.log('New request @ ' + request.url);
(function (response) {
setTimeout(function () {
console.log('Time is up');
response.writeHead(200, {"Content-Type": "text/plain"});
response.end('Hello World\n');
}, 3000);
})(response);
}).listen(8124);
console.log('Server running at http://127.0.0.1:8124/');
ただし、上記のコードは、同期シングルスレッドアプリのように機能し、3秒ごとに1つのリクエストしか処理できません。
node.jsのすべてが非同期で動作するはずだと思いました。それで、ここでの問題は何ですか?