Я следую за Node.js tutorial, а в разделе «Блокировка и неблокирование» он имеет этот код, который должен демонстрировать проблемы с блокировкой.Почему этот код не блокируется в Node.js?
function start() {
console.log("Request handler 'start' was called.");
function sleep(milliSeconds) {
var startTime = new Date().getTime();
while (new Date().getTime() < startTime + milliSeconds);
}
sleep(10000);
return "Hello Start";
}
function upload() {
console.log("Request handler 'upload' was called.");
return "Hello Upload";
}
exports.start = start;
exports.upload = upload;
index.js
var server = require("./server");
var router = require("./router");
var requestHandlers = require("./requestHandlers");
var handle = {}
handle["/"] = requestHandlers.start;
handle["/start"] = requestHandlers.start;
handle["/upload"] = requestHandlers.upload;
server.start(router.route, handle);
Я попытался загрузки http://localhost:8888/start и http://localhost:8888/upload. Они оба должны взять 10 секунд, чтобы загрузить из-за блокировки, но они оба загружаются мгновенно. Зачем? Если я запускаю функцию sleep() непосредственно в node.js, он блокирует, но не в веб-браузере. Разве это уже не проблема, с которой нужно бороться по какой-то причине?
Вы связались с файлом на вашем локальном компьютере. Вы лучше публикуете сам код. – Dennis
Я установил ссылку и включил код. – neuromancer
Ваш код должен работать, как вы вызываете функцию 'start'? – stewe