【问题标题】:Is there any difference between fs.ReadStream and fs.createReadStream in Node.js?Node.js 中的 fs.ReadStream 和 fs.createReadStream 有什么区别吗?
【发布时间】:2013-05-31 09:48:09
【问题描述】:

在 Node.js 的 fs 模块中,fs.ReadStreamfs.createReadStream 有什么区别吗?据我所知,两者都取文件名,然后创建流对象......对吗?

【问题讨论】:

  • 请将问题 2 作为单独的问题发布。
  • readFile - 在将文件提供给用户之前,它会将文件完全读入内存。 createReadStream - 它将按照事先指定的大小分块读取文件。

标签: node.js stream fs


【解决方案1】:

没有

https://github.com/nodejs/node/blob/1124de2d76ad7118267d91a08485aa928a5f0865/lib/fs.js#L1711

fs.createReadStream = function(path, options) {
  return new ReadStream(path, options);
};

细则:是的。 fs.createReadStream 会花费您 1 个额外的包装函数调用

【讨论】:

  • 感谢您的回答。但是包装函数是否必要?平时处理ReadStream时应该使用哪一个?我不明白为什么必须包装这个函数,特别是因为没有其他参数作为输入,除了在函数内创建新实例之外没有任何行。
  • 我再说一遍,没有区别。您可以使用其中任何一种,无论哪种都无所谓。 'fs.createReadStream' 只是一种方便的方法,可能适合不喜欢 new 关键字的人。
  • 由于与ES6的兼容性,我应该更喜欢哪种代码样式?
猜你喜欢
  • 2011-12-29
  • 2013-12-02
  • 1970-01-01
  • 2017-01-17
  • 2013-01-04
  • 1970-01-01
  • 1970-01-01
  • 2013-03-05
  • 1970-01-01
相关资源
最近更新 更多