【发布时间】:2016-11-22 09:30:11
【问题描述】:
我在某本书中读到使用流式传输比在 node.js 中一次读取整个文件更好,我理解这个想法.. 但我想知道不是使用流式读取文件吗?我已经习惯了 Java 和 C++ 的这一点,当我想读取文件时,我使用流 .. 那么这里有什么区别呢?
还有fs.createReadStream(<somefile>);和fs.readFile(<somefile>);之间的区别是什么?
两者都是异步的,对吧!!
【问题讨论】:
-
我相信不同之处在于“读取整个文件”将整个文件放入内存中,而“流式处理”则以块的形式处理文件。
-
而流需要异步控制流,因为您不知道下一个块何时交付。
-
所以,唯一的区别是“流节省内存”,因为流和 fs.readFile 方法都是异步(非阻塞)@FrédéricHamidi
-
@Omar,我不认为异步方面比能够在不投资 42 TB RAM 的情况下处理 42 TB 文件更重要。
标签: javascript node.js web server-side