变量在node.js http回调函数中递增两次

时间:2012-04-12 20:15:34

标签: node.js callback increment

我正在玩node.js,当你运行这段代码时会发生一些奇怪的事情:

var http = require("http");
var i = 0;

function onRequest(request, response) {  
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("You're number " + i++);
  response.end();
}

http.createServer(onRequest).listen(8888);

我希望它的行为类似于页面浏览量计数器,但每次刷新浏览器选项卡时,我都会得到i=i+2的结果,而不是简单的增量。有人可以向我解释这种行为吗?

2 个答案:

答案 0 :(得分:12)

您的浏览器也会点击您的服务器favicon.ico。每个请求递增ifavicon.ico的请求计数。

使用FiddlerWireShark等工具自行查看此行为。

答案 1 :(得分:2)

我敢打赌,这是浏览器喜欢一遍又一遍地发送的favicon请求。