[英]Replacing fs.readFile with fs.createReadStream in Node.js
[英]Node.js fs.readFile store read data in memory
我正在构建一个 node.js 应用程序,它将处理大量数字数据。 如何将 fs.readFile 读取的数据存储在 memory 中,示例:
var somedata = '';
fs.readFile('somefile', 'utf8', function(err,data){
somedata = data;
});
//fs.readFile is done by now..
console.log(somedata) // undefined, why is this not in memory?
我定期读取文件数据,目前我必须将我在其他地方读取的内容写入并再次读取以在另一个 function 中使用它。
我如何将它存储在 memory 中? 这就是 javascript 的工作原理吗?
使用readFile()
function
function(err,data){
somedata = data;
}
稍后(异步)执行,这是常见的 JavaScript 编程模式。
浏览器中的 JS 和 NodeJS 是单线程的,并且使用事件循环进行并发。
使用readFileSync()
将停止执行并返回读取操作的结果(就像您对其他语言所期望的那样)。
var somedata = '';
somedata = fs.readFileSync('somefile', 'utf8');
//fs.readFileSync is done by now.. (which is important difference with readFile()
console.log(somedata)
参考:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.