Created
October 10, 2012 16:16
-
-
Save sqpierce/3866651 to your computer and use it in GitHub Desktop.
node experiment
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var http = require("http"); | |
function do_thing(response, callback){ | |
var d=new Date(); | |
console.log('calling setTimeout '+d.toLocaleTimeString()); | |
var timer = setTimeout(function(){ | |
var d=new Date(); | |
console.log('timeout callback '+d.toLocaleTimeString()); | |
respond(response); | |
}, 10000); | |
var d2=new Date(); | |
console.log('setTimeout called '+d2.toLocaleTimeString()); | |
} | |
function respond(response){ | |
var d=new Date(); | |
console.log('sending response '+d.toLocaleTimeString()); | |
response.writeHead(200, {"Content-Type": "text/plain"}); | |
response.write("hello at "+d.toLocaleTimeString()); | |
response.end(); | |
} | |
http.createServer(function(request, response) { | |
var d=new Date(); | |
console.log('got request '+d.toLocaleTimeString()); | |
do_thing(response, respond); | |
}).listen(8888); | |
var d=new Date(); | |
console.log('running... '+d.toLocaleTimeString()); | |
// UPDATE: Firing two requests curl in two Terminal windows resolves the issue below | |
// This code is good. The test (using Firefox) was bad. | |
//Two web requests in close succession, still have to wait 20 secs for 2nd request to complete... | |
//OUTPUT AS FOLLOWS: | |
// | |
//running... 12:12:00 | |
//got request 12:12:06 | |
//calling setTimeout 12:12:06 | |
//setTimeout called 12:12:06 | |
//timeout callback 12:12:16 | |
//sending response 12:12:16 | |
//got request 12:12:16 | |
//calling setTimeout 12:12:16 | |
//setTimeout called 12:12:16 | |
//timeout callback 12:12:26 | |
//sending response 12:12:26 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment