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 相关文章推荐
点击广告后才能获得下载地址
Oct 26 Javascript
无语,javascript居然支持中文(unicode)编程!
Apr 12 Javascript
JavaScipt基本教程之前言
Jan 16 Javascript
js 内存释放问题
Apr 25 Javascript
js原型继承的两种方法对比介绍
Mar 30 Javascript
javascript实现图片自动和可控的轮播切换特效
Apr 13 Javascript
javascript入门教程基础篇
Nov 16 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
Dec 25 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
Sep 05 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
Dec 29 Javascript
javaScript+turn.js实现图书翻页效果实例代码
Feb 16 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
Apr 25 jQuery
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+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
php快速url重写更新版[需php 5.30以上]
2010/04/25 PHP
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
PHP使用flock实现文件加锁的方法
2015/07/01 PHP
laravel 修改记住我功能的cookie保存时间的方法
2019/10/14 PHP
javascript支持firefox,ie7页面布局拖拽效果代码
2007/12/20 Javascript
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
javascript 节点排序 2
2011/01/31 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
js电话号码验证方法
2015/09/28 Javascript
Ajax 加载数据 练习代码
2017/01/05 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
Bootstrap超大屏幕的实现代码
2017/03/22 Javascript
React组件之间的通信的实例代码
2017/06/27 Javascript
vue2实现可复用的轮播图carousel组件详解
2017/11/27 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
React Native使用fetch实现图片上传的示例代码
2018/03/07 Javascript
微信小程序时间控件picker view使用详解
2018/12/28 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
2019/06/13 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
VUE DEMO之模拟登录个人中心页面之间数据传值实例
2019/10/31 Javascript
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
Python continue语句用法实例
2014/03/11 Python
Python深入06——python的内存管理详解
2016/12/07 Python
python爬取网页内容转换为PDF文件
2020/07/28 Python
Django中提供的6种缓存方式详解
2019/08/05 Python
pandas读取csv文件提示不存在的解决方法及原因分析
2020/04/21 Python
python基于opencv实现人脸识别
2021/01/04 Python
用python批量移动文件
2021/01/14 Python
美国校服网上商店:French Toast
2019/10/08 全球购物
投标单位介绍信
2014/01/09 职场文书
教师批评与自我批评材料
2014/10/16 职场文书
2016自主招生校长推荐信范文
2015/03/23 职场文书
中学语文教学反思
2016/02/16 职场文书
《棉鞋里的阳光》教学反思
2016/02/20 职场文书
pytorch model.cuda()花费时间很长的解决
2021/06/01 Python