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 相关文章推荐
javascript权威指南 学习笔记之javascript数据类型
Sep 24 Javascript
js运动框架_包括图片的淡入淡出效果
May 11 Javascript
如何获取select下拉框的值(option没有及有value属性)
Nov 08 Javascript
node.js中的buffer.slice方法使用说明
Dec 10 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
Sep 04 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
Feb 13 Javascript
js实现拖拽上传图片功能
Aug 01 Javascript
对于js垃圾回收机制的理解
Sep 14 Javascript
vue router的基本使用和配置教程
Nov 05 Javascript
Vue 实现分页与输入框关键字筛选功能
Jan 02 Javascript
JS中准确判断变量类型的方法
Jun 01 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
Jul 28 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
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
2010/03/15 PHP
JavaScript 学习点滴记录
2009/04/24 Javascript
JavaScript this调用规则说明
2010/03/08 Javascript
jQuery 开发者应该注意的9个错误
2012/05/03 Javascript
JavaScript加强之自定义event事件
2013/09/21 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
2015/03/01 Javascript
浅谈javascript的分号的使用
2015/05/12 Javascript
jquery使整个div区域可以点击的方法
2015/06/24 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
Jquery ajax请求导出Excel表格的实现代码
2016/06/08 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
p5.js入门教程之小球动画示例代码
2018/03/15 Javascript
如何使用CSS3和JQuery easing 插件制作绚丽菜单
2019/06/18 jQuery
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
vue在App.vue文件中监听路由变化刷新页面操作
2020/08/14 Javascript
Python3字符串学习教程
2015/08/20 Python
详解Python import方法引入模块的实例
2017/08/02 Python
Python使用asyncio包处理并发详解
2017/09/09 Python
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
python机器学习实现决策树
2019/11/11 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
Python拼接字符串的7种方式详解
2020/03/19 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
2020/03/31 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
Canvas中设置width与height的问题浅析
2018/11/01 HTML / CSS
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
英国乡村时尚和宠物用品专家:Pet & Country
2018/07/02 全球购物
EJB3.1都有哪些改进
2012/11/17 面试题
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
旺仔牛奶广告词
2014/03/20 职场文书
人力资源部岗位职责
2015/02/11 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
Moment的feature导致线上bug解决分析
2022/09/23 Javascript