NPM酷库,天天两分钟,相识一个盛行NPM库。
昨天,我们相识的Node.js中数据流的处置惩罚,并运用through疾速建立双向流,本日,我们继承议论数据流。
我们昨天说到,运用数据流,可以分批读取数据到内存,而不必将文件一次性读取到内存。比方一个非常大文本文件,每一行是一条数据,我们可以每次读取一行,举行处置惩罚。
fs.createReadStream(file)
.on('data', function (chunk) {
//...
});
上述代码中,每次流对象的data事宜都邑通报一个数据块chunk,然则遗憾的是,每一个chunk并非一行,也不是完全的多行,某一行有可以会被分开到两个chunk中,分两次返回,所以我们就需要多做许多分外的事情来处置惩罚。
split
split 可以疾速完成对流数据块的处置惩罚,每一次准确返回一行完全的数据:
fs.createReadStream(file)
.pipe(split())
.on('data', function (chunk) {
//...
});