我今天安装了node.js.我开始使用示例" Hello World"服务器并开始黑客攻击它。不久,我有了这个:
var http = require('http');
var count = 0;
http.createServer(function handler(req, res) {
console.log('yeah ' + count++);
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('<b>Zoot!</b><br><em>yeah</em>\n');
}).listen(1338, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1338/');
当我浏览到端口时,我的控制台日志显示CreateServer中的处理程序被调用两次 - 我添加了计数,所以我可以肯定。在2&#39;浏览后
:Server running at http://127.0.0.1:1338/
yeah 0
yeah 1
yeah 2
yeah 3
为什么会这样?
修改
蒂姆库珀是对的。我将记录行更改为
console.log('yeah ' + req.url +' '+ count++);
并得到了这个结果
Server running at http://127.0.0.1:1338/
yeah / 0
yeah /favicon.ico 1
yeah / 2
yeah /favicon.ico 3
答案 0 :(得分:1)
CreateServer没有被调用两次。您的回调被多次调用(每次http请求一次到服务器)。