首页 > 编程 > JavaScript > 正文

node.js中 stream使用教程

2019-11-20 09:08:23
字体:
来源:转载
供稿:网友

这些日子跑去学了一下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,它传输的是一个图片,由于我们接收完之后,就得到了这个图片的数据,我们就可以利用这个做上传,复制,道理都相通的。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表