以下node.jsのコードを実行すると

nの値が1,3,5,7,9...のようになります。
1,2,3,4,5...のように期待しているのですが
どこが原因でしょうか。
node.jsのバージョンはv0.10.26です。
よろしくお願いいたします。

var http = require('http'),
fs = require('fs'),
ejs = require('ejs');
var settings = require('./settings');
var server = http.createServer();
var template = fs.readFileSync(__dirname + '/public_html/hello.ejs', 'utf-8');
var n = 0;
server.on('request', function(req, res) {
n++;
var data = ejs.render(template, {
title: "hello",
content: "<strong>World!</strong>",
n: n
});
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
res.end();
});
server.listen(settings.port, settings.host);
console.log("server listening ...");

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2015/05/27 22:34:16
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:alfa-gadget No.2

回答回数254ベストアンサー獲得回数50

ポイント50pt

ただ、一方で、以下dotinstallみていたのですが、
そこでは1,2,3,4というようになっていました。

この違いは、nodeのバージョンの違いなのか、chromeのバージョンの違い
なのか、それともなのでしょうかね^^;

favicon がキャッシュされているのだと思います。
同じドメインで適当なページで favicon の設定したページを表示した後にこのプログラムを動かしてみたら1,2,3,4となると思います。

id:yayayai

ああ、そういうことでしたか。ありがとうございます。確認してみます。

2015/05/27 22:34:06

その他の回答1件)

id:yosuke_furukawa No.1

回答回数1ベストアンサー獲得回数0

ポイント50pt

どうやって検証しているのでしょうか。
もしもブラウザで検証しているのであれば、ブラウザは開いた時にpath自身へのリクエストとfaviconへのリクエストもするので、2つのリクエストがほぼ同時のタイミングで飛ぶことになります。

以下のように変更して内容を確認してみてください。

server.on('request', function(req, res) {
console.log('Request url : ' + req.url);
console.log('n : ' + n);
n++;
var data = ejs.render(template, {
title: "hello",
content: "World!",
n: n
});

id:yayayai

ご回答ありがとうございました。

おっしゃるとおり、いただいたコードで実行しましたら、
path自身へのリクエストとfaviconへのリクエストがデバッグにでていました。
(検証はブラウザです)

ただ、一方で、以下dotinstallみていたのですが、
そこでは1,2,3,4というようになっていました。

この違いは、nodeのバージョンの違いなのか、chromeのバージョンの違い
なのか、それともなのでしょうかね^^;
http://dotinstall.com/lessons/basic_nodejs/26210

2015/05/24 10:57:08
id:yosuke_furukawa

nodeのバージョンの違いでこうなることは考えにくいので、browserの違いじゃないかと思います。

2015/05/25 01:35:07
id:alfa-gadget No.2

回答回数254ベストアンサー獲得回数50ここでベストアンサー

ポイント50pt

ただ、一方で、以下dotinstallみていたのですが、
そこでは1,2,3,4というようになっていました。

この違いは、nodeのバージョンの違いなのか、chromeのバージョンの違い
なのか、それともなのでしょうかね^^;

favicon がキャッシュされているのだと思います。
同じドメインで適当なページで favicon の設定したページを表示した後にこのプログラムを動かしてみたら1,2,3,4となると思います。

id:yayayai

ああ、そういうことでしたか。ありがとうございます。確認してみます。

2015/05/27 22:34:06

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません