今回は、レスポンスを返した後の処理について調べてみます。
準備
まずは前回同様、簡単なWebサーバをつくってみる。var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.end("( ಠ_ಠ)"); }).listen(3000);そしてこれを、出力後5秒経過したらコンソールにも出力するように改造。
var http = require("http"); http.createServer(function(request, response) { console.log("begin"); response.writeHead(200, {"Content-Type": "text/plain"}); response.end("( ಠ_ಠ)"); // 5秒後にコンソールに出力 setTimeout(function() { console.log("end"); }, 5000); }).listen(3000);
手順
このサーバを実行して、http://127.0.0.1:3000/にアクセス。ブラウザに顔文字が表示されますが、コンソールには何が出力されるのでしょうか。
ここから先はキミ自身の目で確かめてくれ!
まとめ
前回同様、やっぱり応答が終わってもサーバ側の残りの処理はまだ生きています。これを利用して、例えばHTMLの出力が終わったあとでバックグラウンドでメールを送信とかできそうですね。
0 件のコメント:
コメントを投稿