本文摘錄自《Nodejs學(xué)習(xí)筆記》,更多章節(jié)及更新,請(qǐng)?jiān)L問(wèn) github主頁(yè)地址。歡迎加群交流,群號(hào) 197339705。

模塊概覽

nodejs的核心模塊,基本上都是stream的的實(shí)例,比如process.stdout、http.clientRequest。

對(duì)于大部分的nodejs開(kāi)發(fā)者來(lái)說(shuō),平常并不會(huì)直接用到stream模塊,只需要了解stream的運(yùn)行機(jī)制即可(非常重要)。

而對(duì)于想要實(shí)現(xiàn)自定義stream實(shí)例的開(kāi)發(fā)者來(lái)說(shuō),就得好好研究stream的擴(kuò)展API了,比如gulp的內(nèi)部實(shí)現(xiàn)就大量用到了自定義的stream類型。

來(lái)個(gè)簡(jiǎn)單的例子鎮(zhèn)樓,幾行代碼就實(shí)現(xiàn)了讀取文件內(nèi)容,并打印到控制臺(tái):

const fs = require('fs');fs.createReadStream('./sample.txt').pipe(process.stdout);

Stream分類

在nodejs中,有四種stream類型: