今回は、レスポンスを返した後の処理について調べてみます。
準備
まずは前回同様、簡単な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 件のコメント:
コメントを投稿