摘要:酷庫,每天兩分鐘,了解一個流行庫。昨天,我們了解的中數(shù)據(jù)流的處理,并使用快速創(chuàng)建雙向流,今天,我們繼續(xù)討論數(shù)據(jù)流。我們昨天說到,使用數(shù)據(jù)流,可以分批讀取數(shù)據(jù)到內(nèi)存,而不用將文件一次性讀取到內(nèi)存。
NPM酷庫,每天兩分鐘,了解一個流行NPM庫。
昨天,我們了解的Node.js中數(shù)據(jù)流的處理,并使用through快速創(chuàng)建雙向流,今天,我們繼續(xù)討論數(shù)據(jù)流。
我們昨天說到,使用數(shù)據(jù)流,可以分批讀取數(shù)據(jù)到內(nèi)存,而不用將文件一次性讀取到內(nèi)存。比如一個非常大文本文件,每一行是一條數(shù)據(jù),我們可以每次讀取一行,進(jìn)行處理。
fs.createReadStream(file) .on("data", function (chunk) { //... });
上述代碼中,每次流對象的data事件都會傳遞一個數(shù)據(jù)塊chunk,但是遺憾的是,每個chunk并不是一行,也不是完整的多行,某一行有可能會被分開到兩個chunk中,分兩次返回,所以我們就需要多做很多額外的工作來處理。
splitsplit 能夠快速實現(xiàn)對流數(shù)據(jù)塊的處理,每一次精確返回一行完整的數(shù)據(jù):
fs.createReadStream(file) .pipe(split()) .on("data", function (chunk) { //... });參考資料
https://github.com/dominictar...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/92852.html
摘要:流做下載等功能時候,我們經(jīng)常會使用數(shù)據(jù)流模塊,因為,在大文件下載場景下,如果使用接口將文件全部讀入內(nèi)存然后再返回給客戶端,很容易撐爆內(nèi)存,比如一個文件,同時有人在下載,那么服務(wù)就需要占用內(nèi)存。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。 流 做下載等功能時候,我們經(jīng)常會使用數(shù)據(jù)流模塊(stream),因為,在大文件下載場景下,如果使用fs.readFile()接口將文件全部讀入內(nèi)存...
摘要:酷庫,每天兩分鐘,了解一個流行庫。在酷庫中,我們介紹了可以將數(shù)據(jù)導(dǎo)出為文件的庫,今天,今天我們再來了解如何解析導(dǎo)入一個文件。用于將一個文本字符串?dāng)?shù)據(jù)解析為對象或數(shù)組張三李四張三李四除了同步方式解析,還提供異步函數(shù)和流對象支持。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫?!?在NPM酷庫048中,我們介紹了可以將JSON數(shù)據(jù)導(dǎo)出為csv文件的庫:json2csv,今天,今天我們再來了...
摘要:酷庫,每天兩分鐘,了解一個流行庫。在酷庫中,我們學(xué)習(xí)了如何使用庫將格式文檔字符串解析為的對象數(shù)據(jù),本期,我們繼續(xù)學(xué)習(xí),一個可以以流編程的方式解析。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。· 在NPM酷庫051中,我們學(xué)習(xí)了如何使用xml2js庫將XML格式文檔字符串解析為JavaScript的對象數(shù)據(jù),本期,我們繼續(xù)學(xué)習(xí)sax,一個可以以流編程的方式解析XML。 使用流編程的方...
摘要:酷庫,每天兩分鐘,了解一個流行庫。在酷庫中,我們學(xué)習(xí)了如何使用庫將格式文檔字符串解析為的對象數(shù)據(jù),本期,我們繼續(xù)學(xué)習(xí),一個可以以流編程的方式解析。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫?!?在NPM酷庫051中,我們學(xué)習(xí)了如何使用xml2js庫將XML格式文檔字符串解析為JavaScript的對象數(shù)據(jù),本期,我們繼續(xù)學(xué)習(xí)sax,一個可以以流編程的方式解析XML。 使用流編程的方...
摘要:酷庫,每天兩分鐘,了解一個流行庫。在中,最常用的時間單位就是毫秒,等函數(shù)用到的數(shù)字表示時間,其單位就是毫秒。直接理解這些數(shù)字比較困難,有時候我們需要將表示毫秒的數(shù)字轉(zhuǎn)換成字符串,人能直接理解的文本。比如記錄輸出程序的運(yùn)行時間等場景。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。 在JS中,最常用的時間單位就是毫秒,setTimeout() 、Date.now() 等函數(shù)用到的數(shù)字表示...
閱讀 2486·2021-11-22 09:34
閱讀 3096·2021-10-25 09:43
閱讀 2017·2021-10-11 10:59
閱讀 3428·2021-09-22 15:13
閱讀 2363·2021-09-04 16:40
閱讀 448·2019-08-30 15:53
閱讀 3225·2019-08-30 11:13
閱讀 2634·2019-08-29 17:30