node.js中 stream使用教程
這些日子跑去學(xué)了一下OC,但是還沒(méi)有學(xué)成。離轉(zhuǎn)行的時(shí)間還有很長(zhǎng),順便回顧一下node的知識(shí)。
每種語(yǔ)言來(lái)來(lái)去去的人很多,但我就離不開(kāi)node。我并不是使用它開(kāi)發(fā),只是使用js相對(duì)多一些,因此還是研究node比較好,stream在node的地位是很高的。閑時(shí)也來(lái)看看這個(gè)內(nèi)容,在node的路上,我還是新手。
今天下載了nodeschool的課程看,其中有一個(gè)例子。(我修改了一點(diǎn)點(diǎn))
var concat = require('concat-stream'); var http = require('http'); var qs = require('querystring'); var server = http.createServer(function (req, res) { if (req.method === 'POST') { req.pipe(concat(function (body) { body = qs.parse(body.toString()) res.end(Object.keys(body).join('\n')); })); } else res.end(); }); server.listen(5000);
這題的意思是,讓你把post數(shù)據(jù)反轉(zhuǎn),我就不做了,原理是一樣的,只是需求不同。我們利用concat這個(gè)插件,當(dāng)表單提交時(shí),就把數(shù)據(jù)流導(dǎo)向concat,這個(gè)例子是取from表單post的數(shù)據(jù)。
為了測(cè)試,我使用request庫(kù)。
var request = require(‘request') request.post(‘ http://127.0.0.1:5000 ‘, {form: { “name”: “ryan”, “age” : 23 } }, function(err,res,body){ console.log(‘接收成功:') console.log(res[‘body']) // name age })
啟動(dòng)server,然后運(yùn)行測(cè)試,可以看到我們把這個(gè)對(duì)象post過(guò)去了。concat-stream這個(gè)模塊主要是做buffer的連接,我的理解是,當(dāng)你以buffer的形式傳輸,這樣就可以傳輸任何的類(lèi)型了,在npmjs,它傳輸?shù)氖且粋€(gè)圖片,由于我們接收完之后,就得到了這個(gè)圖片的數(shù)據(jù),我們就可以利用這個(gè)做上傳,復(fù)制,道理都相通的。
相關(guān)文章
nodejs基礎(chǔ)之多進(jìn)程實(shí)例詳解
這篇文章主要介紹了nodejs基礎(chǔ)之多進(jìn)程,結(jié)合實(shí)例形式分析了nodejs多進(jìn)程的概念、原理、相關(guān)函數(shù)使用方法及操作注意事項(xiàng),需要的朋友可以參考下2018-12-12node.js實(shí)現(xiàn)http服務(wù)器與瀏覽器之間的內(nèi)容緩存操作示例
這篇文章主要介紹了node.js實(shí)現(xiàn)http服務(wù)器與瀏覽器之間的內(nèi)容緩存操作,結(jié)合實(shí)例形式分析了node.js http服務(wù)器與瀏覽器之間的內(nèi)容緩存原理與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2020-02-02nodejs的HTML分析利器node-jquery用法淺析
這篇文章主要介紹了nodejs的HTML分析利器node-jquery用法,簡(jiǎn)單分析了node-jquery的功能并結(jié)合實(shí)例說(shuō)明了node-jquery控制臺(tái)輸出信息的操作技巧,需要的朋友可以參考下2016-11-11NodeJS模塊與ES6模塊系統(tǒng)語(yǔ)法及注意點(diǎn)詳解
這篇文章主要給大家介紹了關(guān)于NodeJS模塊與ES6模塊系統(tǒng)語(yǔ)法及注意點(diǎn)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01Node.js之網(wǎng)絡(luò)通訊模塊實(shí)現(xiàn)淺析
本篇文章主要介紹了Node.js之網(wǎng)絡(luò)通訊模塊實(shí)現(xiàn)淺析,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-04-04vscode調(diào)試node.js的實(shí)現(xiàn)方法
這篇文章主要介紹了vscode調(diào)試node.js的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03