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 相关文章推荐
js根据给定的日期计算当月有多少天实现思路及代码
Feb 25 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
Apr 02 Javascript
JavaScript中双叹号!!作用示例介绍
Sep 21 Javascript
javascript实现3D切换焦点图
Oct 16 Javascript
Vue.js之slot深度复制详解
Mar 10 Javascript
jquery中each循环的简单回滚操作
May 05 jQuery
微信小程序开发之map地图实现教程
Jun 08 Javascript
Node.js使用Koa搭建 基础项目
Jan 08 Javascript
vue定义全局变量和全局方法的方法示例
Aug 01 Javascript
React事件处理的机制及原理
Dec 03 Javascript
详解关于React-Router4.0跳转不置顶解决方案
May 10 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
Oct 21 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 错误之引号中使用变量
2009/05/04 PHP
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
深入探密Javascript数组方法
2015/01/08 Javascript
JS查找字符串中出现最多的字符及个数统计
2017/02/04 Javascript
5 种JavaScript编码规范
2018/01/30 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
vue中axios请求的封装实例代码
2019/03/23 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
Vue3新特性之在Composition API中使用CSS Modules
2020/07/13 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
python爬虫 爬取58同城上所有城市的租房信息详解
2019/07/30 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
SIDESTEP荷兰:在线购买鞋子
2019/11/18 全球购物
制药工程专业毕业生推荐信
2013/12/24 职场文书
导游实习生自荐书
2014/01/28 职场文书
新法人代表任命书
2014/06/06 职场文书
听证通知书
2015/04/24 职场文书
同学会感言
2015/07/30 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
Python中三种花式打印的示例详解
2022/03/19 Python
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android
Springboot集成kafka高级应用实战分享
2022/08/14 Java/Android