假设我有以下代码。我正在使用ExpressJS,但我认为服务器部分与普通Node.js没有太大区别。
var express=require('express');
var settings=JSON.parse(fs.readFileSync('settings.json','utf8')); // does this run only once (when the server starts)?
app.get('*',function(req,res){
res.write(fs.readFileSync('index.html')); // does this block other requests?
setTimeout(function(){
someSlowSyncTask(); // does this block other requests?
},1000);
res.end();
});
在上面的示例中,第readFileSync
一次启动是在服务器启动时运行一次,还是在服务器每次接收到请求时运行?
第二readFileSync
,是否阻止Node处理其他请求?换句话说,是否所有其他请求都必须等到readFileSync
Node处理完这些请求之后才能完成?
编辑:我添加了setTimeout
和someSlowSyncTask
。他们会阻止其他请求吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句