Node.js 为什么我从NodeJS得到这个输出?
下面是我的NodeJS程序Node.js 为什么我从NodeJS得到这个输出?,node.js,Node.js,下面是我的NodeJS程序 var http = require("http"); var x = 0; http.createServer(function(request, response){ response.writeHead(200); console.log("x = " + x); x += 1; response.write("Hello Michael. This page has been requested [" + x + "] time
var http = require("http");
var x = 0;
http.createServer(function(request, response){
response.writeHead(200);
console.log("x = " + x);
x += 1;
response.write("Hello Michael. This page has been requested [" + x + "] times!");
response.end();
}).listen(8080);
当我第一次在浏览器中点击应用程序时,浏览器的输出为:
你好,迈克尔。此页面已被请求[1]次代码>
但是,在控制台(即cmd.exe)中,我看到:
x=0
x=1
如果重新加载浏览器,我会看到:
你好,迈克尔。此页面已被请求[3]次代码>
控制台现在输出:
x=2
x=3
为什么处理HTTP请求的函数会执行两次?我的预期输出将是看到浏览器中显示的数字与控制台中的值匹配。检查
请求.url
,您将看到其中一个用于/favicon.ico
,另一个是实际请求。检查请求.url
,您将看到其中一个用于/favicon.ico
,另一个是实际请求。您是正确的。谢谢。你说得对。谢谢。