我是 node.js 的新手,我尝试使用 setTimeout 来模拟长连接并希望它异步运行。
var http = require('http');
http.createServer(function (request, response) {
console.log('New request @ ' + request.url);
(function (response) {
setTimeout(function () {
console.log('Time is up');
response.writeHead(200, {"Content-Type": "text/plain"});
response.end('Hello World\n');
}, 3000);
})(response);
}).listen(8124);
console.log('Server running at http://127.0.0.1:8124/');
但是,上面的代码执行起来就像一个同步单线程应用程序,每 3 秒只能处理一个请求。
我认为 node.js 中的所有内容都应该异步执行。那么,这里有什么问题呢?