私はclose event
Node.jsで実験しています。私は Node.js に非常に慣れていないので、これがまともな質問なのか悲しい質問なのかわかりません。
ドキュメントclose event
:
http://nodejs.org/api/http.html#http_event_close_2
end event
に到達する前にブラウザを閉じた場合、コンソールにメッセージを出力したい。
サーバーの実行中に 15 秒になる前に、ブラウザーを閉じて、Chrome ツールを使用してプロセスを強制終了しようとしました。コンソールにメッセージが出力されず、他のウィンドウで localhost:8080 にアクセスして他の接続を開くと、ノード サーバーが少なくとも 2 つの接続があると認識していることを示す「こんにちは」がすぐに表示されます。
Chrome でプロセスを強制終了する方法、またはイベント クローズがどのように機能するかを理解していません。
または、End
とClose
が同じ場合 - node.js https no response 'end' event, 'close' 代わりに? -なぜ私の「彼らはせっかちになった!」ではないのですか?メッセージがまだコンソールに出力されていますか?
イベントが終了する前にプロセスが終了した場合、どのようにコンソールに出力できますか?
var http = require('http'),
userRequests = 0;
http.createServer(function(request,response){
userRequests++;
response.writeHead(200, {'Content-Type' : 'text/plain'});
if ( userRequests == 1 ){
response.write('1st \n');
setTimeout ( function() {
response.write('2nd Thanks for waiting. \n');
response.on('close', function() {
console.log("They got impatient!");
});
response.end();
}, 15000);
response.write('3rd \n');
}
else {
// Quick response for all connections after first user
response.write('Hello');
response.end();
}
}).listen(8080, function() {
console.log('Server start');
});
ありがとうございました。