位置: 编程技术 - 正文

理解nodejs的stream和pipe机制的原理和实现(nodejs dgram)

编辑:rootadmin

推荐整理分享理解nodejs的stream和pipe机制的原理和实现(nodejs dgram),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs stdout,nodejs详解,node.js的理解,nodejs writestream,nodejs stdin,nodejs stdin,nodejs stream原理,node.js stream,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

前几天别人请教我关于pipe的问题,我发现我虽然用了nodejs很久,但是由于每次用的不多所以经常回避stream的使用,导致一直不熟,现在重新学习整理一下相关知识。

通过nodeschool学习stream

nodeschool有一个stream-adventure教程教导stream的使用,很简单

简单stream进行pipe

首先,我们可以通过管道将输入定位到输出,输入输出可以是控制台或者文件流或者http请求,比如

pipe中间进行处理

如果我们想要在管道中间进行处理,比如想将输入的字符串变成大写写到输出里,我们可以使用一些可以作为中间处理的框架,比如through2就很方便

理解nodejs的stream和pipe机制的原理和实现(nodejs dgram)

stream转化成普通回调

当我们输入是流,而输出是个普通函数,我们需要把输入流转化为普通的buffer,这时可以试用concat-stream库

http server中的流

类似stdin和fs,http由于其特性也适合使用流,所以其自带类似特性

既作为输入也作为输出的流

request框架实现了如下功能,将一个流pipe到request请求中,然后将流的内容发给服务器,然后返回作为流供其他代码使用,实现如下

分支管道

下边是一个例子,这个例子将输入管道中html包含loud class的元素放入另一个管道进行大写操作,然后最后合并成输出

合并输入输出stream例子

合并后的输入输出可像前文request一样使用,下边这个例子实现了使用流的方式进行子进程调用

总结

通过上边的例子,可以知道stream应该还有如何合并等更复杂的应用方式。总之整体上符合如下特性:

Stream分为readable、writeble Stream通过pipe方法控制流向 httpServer和httpClient和file system和process.stdinouterr通常可以作为stream Stream可以被on(event)转化为普通的变量,普通变量可以被write转换成stream Stream自身可以被拆分、合并、过滤

标签: nodejs dgram

本文链接地址:https://www.jiuchutong.com/biancheng/380928.html 转载请保留说明!

上一篇:详解Node中导入模块require和import的区别(node中使用什么引入模块)

下一篇:Node.js pipe实现源码解析(node.js import)

  • 含税价怎么算不含税价
  • 公司合同是公司员工个人名义签订如何入账?
  • 以前年度损益调整结转到未分配利润
  • 送货单和收据单的区别
  • 购买私募基金有风险吗
  • 公司滴滴发票是什么意思
  • 开票系统里红字发票怎么开
  • 给国外汇款交增值税吗
  • 保证金交易收益率
  • 安装工程什么时候计提成本费用
  • 公司工资发放错误怎么退回
  • 哪些税费计入应缴税费
  • 城建税当月缴纳要计提吗
  • 车辆购置税会计账务处理
  • 分公司背书给总公司
  • 营改增的增值税税率
  • 发票月初抄税流程
  • 吊车租赁费计入什么会计科目
  • 承兑汇票贴单怎么贴
  • 未取得房产证的房子如何迁户口
  • 受委托研发企业可以享受研发支出吗
  • 代购买东西流程
  • 关于工程施工的文章
  • 暂估成本跨年怎么算
  • 固定资产清理和固定资产减值准备的区别
  • 研发费用的归集范围
  • 政府扶持资金要交所得税吗
  • php实现的一致性是什么
  • win7宽带连接错误651
  • 存货盘亏能否税前扣除
  • 外商独资企业在中国上市简称什么
  • php随机生成1到3的数字
  • yolov5官方
  • pytorch教程
  • eyring模型
  • dos命令怎么转到d盘
  • 付了两次运费发了一个包裹
  • 回购证券标的
  • 企业所得税不得核定征收行业
  • 帝国cms自定义列表
  • 首涂24套
  • python动态参数应用
  • 租金的支付期限是多久
  • 个人社保交错了怎么办
  • 应收账款借方余额需要交税吗
  • mysql主从配置详解
  • 买新车检测
  • 公司贷款可以转私户吗
  • 结转增值税的账务处理
  • 银行定期存款取一部分怎么算利息
  • 一般纳税人采购分录
  • 主营业务成本借贷方向增减
  • 销售公司中的服务是什么
  • 多计提的收入怎么冲回
  • 纳税申报财务报表怎么撤销
  • 新建厂房哪些费用可以计入
  • 购买维修费怎么做分录
  • 怎样才能制作出白瓷
  • 怎么用sql脚本创建数据库
  • win7网络不好怎么办
  • linux的压缩包
  • centos 查看服务
  • centos破解密码命令
  • sata驱动怎么装
  • linux压缩文件tar命令
  • cocos2dx tableview基础:实现多图片的滑动显示
  • 编写批处理
  • css弹出层
  • python 邻接表
  • unity3D游戏开发
  • unity2018地形
  • linux启动的过程
  • 如何用jquery
  • 小规模纳税人无进项发票要如何做账?
  • 小规模纳税人增值税优惠政策2024
  • 2022年中国烟草营收
  • 云南省税务局网上办税服务厅官网
  • 企业所得税优惠事项管理目录2023
  • 未开票企业怎么做账
  • 山西省税务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设