Nota: questo non è un post replicato per quelli su settimeout, la risposta chiave qui è le opzioni di progettazione del browser. studioperché settimeout blocca eventloop
Sto iniziando Node.JS: Un semplice esempio per testare asincrona:
var http=require('http');
http.createServer(
function(request, response){
response.writeHead(200);
response.write("Hello, dog is running");
setTimeout(
function(){
response.write("Dog is done");
response.end();
},
10000
);
}
).listen(8080);
console.log("Listen on port 8080")
Una cosa interessante è il suo comportamento è differernt quando al comando Lind con l'arricciatura e browser: In Ubuntu 12.10, Uso curl localhost: 8080 in due console, risposta in quasi 10 mandate.
Tuttavia, apro due browser, effettuo la richiesta quasi contemporaneamente, ma l'intera procedura mi ha richiesto 20 secondi?
grazie.
possibile duplicato di [blocchi di una richiesta Nodejs altre richieste] (http://stackoverflow.com/questions/12197064/nodejs-one-request-blocks-another-requests) –
@MattBall, non credo che sia un duplicare. Questo non esegue l'elaborazione intensiva della CPU. Inoltre, funziona correttamente usando CLI (arricciatura) per me, ma non in Firefox. – Dogbert
Sembra che il browser non invii la seconda richiesta fino alla fine del primo. Se aggiungi un'istruzione di registro all'inizio del gestore, lo dimostrerà. – Dogbert