node.js中 stream使用教程


Posted in Javascript onAugust 28, 2016

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

Javascript 相关文章推荐
利用window.name实现windowStorage代码分享
Jan 02 Javascript
点击显示指定元素隐藏其他同辈元素的方法
Feb 19 Javascript
jquery实现submit提交表单
Feb 03 Javascript
JavaScript中的call和apply的用途以及区别
Jan 11 Javascript
javascript实现下雨效果
Mar 27 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
Oct 01 Javascript
es6数值的扩展方法
Mar 11 Javascript
使用JS location实现搜索框历史记录功能
Dec 23 Javascript
js实现登录拖拽窗口
Feb 10 Javascript
js实现飞机大战游戏
Aug 26 Javascript
Vue绑定用户接口实现代码示例
Nov 04 Javascript
微信小程序用户授权最佳实践指南
May 08 Javascript
ionic组件ion-tabs选项卡切换效果实例
Aug 27 #Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
Aug 27 #Javascript
ionic实现带字的toggle滑动组件
Aug 27 #Javascript
ionic实现可滑动的tab选项卡切换效果
Apr 15 #Javascript
ionic实现滑动的三种方式
Aug 27 #Javascript
js select实现省市区联动选择
Apr 17 #Javascript
轻松掌握JavaScript装饰者模式
Aug 27 #Javascript
You might like
php curl_init函数用法
2014/01/31 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
2014/08/21 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
读jQuery之一(对象的组成)
2011/06/11 Javascript
js实现拖拽效果
2015/02/12 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
使用jQuery实现Web页面换肤功能的要点解析
2016/05/12 Javascript
javascript实现随机生成DIV背景色
2016/06/20 Javascript
javascirpt实现2个iframe之间传值的方法
2016/06/30 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
hammer.js实现图片手势放大效果
2017/08/29 Javascript
es6系列教程_ Map详解以及常用api介绍
2017/09/25 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
如何使用Jquery动态生成二级选项列表
2020/02/06 jQuery
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
Vue实现随机验证码功能
2020/12/29 Vue.js
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
Python RuntimeError: thread.__init__() not called解决方法
2015/04/28 Python
Windows下搭建python开发环境详细步骤
2020/07/20 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
2021/01/28 Python
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
法学毕业生自我鉴定
2013/11/08 职场文书
生产班组长岗位职责
2014/01/05 职场文书
动员大会主持词
2014/03/20 职场文书
2014年五四青年节活动策划书
2014/04/22 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
齐云山导游词
2015/02/06 职场文书
2016年暑假学生家长评语
2015/12/01 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
php实例化对象的实例方法
2021/11/17 PHP