摘要:酷库,每天两分钟,了解一个流行库。昨天,我们了解的中数据流的处理,并使用快速创建双向流,今天,我们继续讨论数据流。我们昨天说到,使用数据流,可以分批读取数据到内存,而不用将文件一次性读取到内存。
NPM酷库,每天两分钟,了解一个流行NPM库。
昨天,我们了解的Node.js中数据流的处理,并使用through快速创建双向流,今天,我们继续讨论数据流。
我们昨天说到,使用数据流,可以分批读取数据到内存,而不用将文件一次性读取到内存。比如一个非常大文本文件,每一行是一条数据,我们可以每次读取一行,进行处理。
fs.createReadStream(file) .on("data", function (chunk) { //... });
上述代码中,每次流对象的data事件都会传递一个数据块chunk,但是遗憾的是,每个chunk并不是一行,也不是完整的多行,某一行有可能会被分开到两个chunk中,分两次返回,所以我们就需要多做很多额外的工作来处理。
splitsplit 能够快速实现对流数据块的处理,每一次精确返回一行完整的数据:
fs.createReadStream(file) .pipe(split()) .on("data", function (chunk) { //... });参考资料
https://github.com/dominictar...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/92852.html
摘要:流做下载等功能时候,我们经常会使用数据流模块,因为,在大文件下载场景下,如果使用接口将文件全部读入内存然后再返回给客户端,很容易撑爆内存,比如一个文件,同时有人在下载,那么服务就需要占用内存。 NPM酷库,每天两分钟,了解一个流行NPM库。 流 做下载等功能时候,我们经常会使用数据流模块(stream),因为,在大文件下载场景下,如果使用fs.readFile()接口将文件全部读入内存...
摘要:酷库,每天两分钟,了解一个流行库。在酷库中,我们介绍了可以将数据导出为文件的库,今天,今天我们再来了解如何解析导入一个文件。用于将一个文本字符串数据解析为对象或数组张三李四张三李四除了同步方式解析,还提供异步函数和流对象支持。 NPM酷库,每天两分钟,了解一个流行NPM库。· 在NPM酷库048中,我们介绍了可以将JSON数据导出为csv文件的库:json2csv,今天,今天我们再来了...
摘要:酷库,每天两分钟,了解一个流行库。在酷库中,我们学习了如何使用库将格式文档字符串解析为的对象数据,本期,我们继续学习,一个可以以流编程的方式解析。 NPM酷库,每天两分钟,了解一个流行NPM库。· 在NPM酷库051中,我们学习了如何使用xml2js库将XML格式文档字符串解析为JavaScript的对象数据,本期,我们继续学习sax,一个可以以流编程的方式解析XML。 使用流编程的方...
摘要:酷库,每天两分钟,了解一个流行库。在酷库中,我们学习了如何使用库将格式文档字符串解析为的对象数据,本期,我们继续学习,一个可以以流编程的方式解析。 NPM酷库,每天两分钟,了解一个流行NPM库。· 在NPM酷库051中,我们学习了如何使用xml2js库将XML格式文档字符串解析为JavaScript的对象数据,本期,我们继续学习sax,一个可以以流编程的方式解析XML。 使用流编程的方...
摘要:酷库,每天两分钟,了解一个流行库。在中,最常用的时间单位就是毫秒,等函数用到的数字表示时间,其单位就是毫秒。直接理解这些数字比较困难,有时候我们需要将表示毫秒的数字转换成字符串,人能直接理解的文本。比如记录输出程序的运行时间等场景。 NPM酷库,每天两分钟,了解一个流行NPM库。 在JS中,最常用的时间单位就是毫秒,setTimeout() 、Date.now() 等函数用到的数字表示...
阅读 2451·2021-11-22 09:34
阅读 3062·2021-10-25 09:43
阅读 1974·2021-10-11 10:59
阅读 3360·2021-09-22 15:13
阅读 2322·2021-09-04 16:40
阅读 417·2019-08-30 15:53
阅读 3185·2019-08-30 11:13
阅读 2601·2019-08-29 17:30