I have node server like below. And i push 2 request that almost simultaneously(with the same url = "localhost:8080/"). And my question is: "Why the server wait for 1st request handle done, then 2st request will be handle"?
- Output in console of my test:
Home.. Home..
(Notes: 2nd line will be display after 12second) - server.js:
var express = require('express') var app = express() app.use(express.json()) app.get('/', async(request, response) => { try { console.log('Home ...') await sleep(12000) response.send('End') } catch (error) { response.end('Error') } }) function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } var server = app.listen(8080, '127.0.0.1', async () => { var host = server.address().address var port = server.address().port console.log('==================== START SERVER ===================') console.log('* Running on http://%s:%s (Press CTRL+C to quit)', host, port) console.log('* Create time of ' + new Date() + '\n') })
Home...
appears without sleeping for me, I am using 2 bash instance with curl - William Chong