首頁 >web前端 >js教程 >node.js中 stream使用教學課程

node.js中 stream使用教學課程

高洛峰
高洛峰原創
2016-12-28 13:14:491425瀏覽

這些日子跑去學了一下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,它傳輸的是一個圖片,由於我們接收完之後,就得到了這個圖片的數據,我們就可以利用這個做上傳,複製,道理都相通的。

更多node.js中 stream使用教程相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn