Я более или менее новичок в узле, и мне немного трудно разобраться в аспекте асинхронности обратного вызова запрос / ответ для метода http.createServer
.
Насколько я понимаю, когда делается новый запрос, функция anonymouse снова запускается для нового клиента.
Однако в моем тестировании я обнаружил, что процесс блокировки выглядит как , он влияет на ответ другого запрашивающего клиента.
Я говорю это, потому что сообщение журнала "A new client!"
появляется только после того, как первый запрос завершен.
var http = require('http');
http.createServer(function(req, res){
console.log("A new client!");
var startTime = new Date().getTime();
while (new Date().getTime() < startTime + 4000);
res.writeHead(200, {"Content-type" : "text/html"});
res.write("done");
res.end();
}).listen("8888");
Я тестирую на localhost:8888
с несколькими вкладками в браузере.