這些日子跑去學了一下OC,但是還沒有學成。離轉行的時間還有很長,順便回顧一下node的知識。
每種語言來來去去的人很多,但我就離不開node。我并不是使用它開發,只是使用js相對多一些,因此還是研究node比較好,stream在node的地位是很高的。閑時也來看看這個內容,在node的路上,我還是新手。
今天下載了nodeschool的課程看,其中有一個例子。(我修改了一點點)
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數據反轉,我就不做了,原理是一樣的,只是需求不同。我們利用concat這個插件,當表單提交時,就把數據流導向concat,這個例子是取from表單post的數據。
為了測試,我使用request庫。
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})啟動server,然后運行測試,可以看到我們把這個對象post過去了。concat-stream這個模塊主要是做buffer的連接,我的理解是,當你以buffer的形式傳輸,這樣就可以傳輸任何的類型了,在npmjs,它傳輸的是一個圖片,由于我們接收完之后,就得到了這個圖片的數據,我們就可以利用這個做上傳,復制,道理都相通的。
新聞熱點
疑難解答