我正在编写一个节点服务器,它从文件系统中读取/删除/添加/ etc文件。异步读取是否有任何性能优势?在等待读取文件时,我无法做任何事情。例如:
deleteStructure: function(req, res) {
var structure = req.param('structure');
fs.unlink(structure, function(err) {
if (err) return res.serverError(err);
return res.ok();
});
}
我也在使用http.get向另一台服务器发出请求。异步获取是否有任何性能优势?在等待获取文件时,我无法执行任何操作。例如:
getStructure: function(req, res) {
var structure = urls[req.param('structure')];
http.get(structure).then(
function (response) {
return res.send(response);
},
function (err) {
res.serverError(err)
}
);
}
如果异步读取文件没有性能优势,我可以使用同步方法。但是,我不知道http调用的同步方法,是否存在任何内置方法?
仅供参考我正在使用Sails.js。
谢谢!
答案 0 :(得分:7)
在等待阅读文件时,我无法做任何事情 在等待提取文件时,我无法做任何事情。
错误;您可以处理不相关的HTTP请求。
每当您的代码处于同步操作过程中时,您的服务器根本不会响应其他请求。
这种异步可伸缩性是Node.js的最大吸引力。