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

Bog*_*ăun 5 callback increment node.js

我正在玩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);
Run Code Online (Sandbox Code Playgroud)

我希望它表现得像一个页面浏览计数器,但每次刷新浏览器选项卡我得到的结果似乎是i=i+2一个简单的增量.有人可以向我解释这种行为吗?

Bra*_*rad 12

您的浏览器也会访问您的服务器favicon.ico.每个请求递增i,以及favicon.ico计数请求.

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