增量运算符增加了两个

时间:2015-07-20 19:26:31

标签: node.js

我有以下node.js程序:

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

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World: " + yolo());
  response.end();
}).listen(8888);

function yolo(){
     count++;
     return count;
}

我在终端窗口中运行该程序,并通过我的浏览器http://localhost:8888/

访问它

我刷新时得到以下输出:

  • Hello World:1
  • Hello World:3
  • Hello World:5
  • Hello World:7
  • Hello World:9
  • 等...

为什么程序每次将计数变量递增2而不是1?

2 个答案:

答案 0 :(得分:3)

您可以查看浏览器何时拨打/favicon.ico

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  if (request.url !== '/favicon.ico') {
    response.write("Hello World: " + yolo());
  }
  response.end();
}).listen(8888);

答案 1 :(得分:2)

您可能希望使用像express这样的路由库来为您提供所需的内容。

var express = require('express');
var app = express();
var count = 0;

app.get('/', function(req, res){
  count++;
  res.send('Hello world:'+count);
});

app.listen(3000);

这只会响应“/”处的请求,而不会像createServer那样响应每个网址。