The following is the example web server from the documentation, with an added counter. It prints the counter to the console whenever a client/browser requests the page.
However, it's being called twice when requested by the browser. Why?
This is what I would expect would happen:
browser : Hello World 1
console : Counter 1
[reload page]
browser : Hello World 2
console : Counter 2
but this happens:
browser : Hello World 1
console : Counter 1
Counter 2
[reload page]
browser : Hello World 3
console : Counter 3
Counter 4
I run the code using the command line
$ node example.js
Here is the code:
var
http = require('http'),
counter = 0,
sys = require('util');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
counter++;
res.end('Hello World ' + counter + '
');
sys.puts('Counter ' + counter);
}).listen(8000, "");
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…