返回顶部
首页 > 资讯 > 精选 >Node.js的Duplex流和Transform流怎么使用
  • 782
分享到

Node.js的Duplex流和Transform流怎么使用

2023-07-02 16:07:46 782人浏览 八月长安
摘要

这篇文章主要介绍“node.js的Duplex流和TransfORM流怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“node.js的Duplex流和Transform流怎么使用”文章能帮助大

这篇文章主要介绍“node.js的Duplex流和TransfORM流怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“node.js的Duplex流和Transform流怎么使用”文章能帮助大家解决问题。

Duplex流一个很好的例子是tcp套接字连接.需要实现_read(size)和_Write(data,encoding,callback)方法.

var stream = require('stream');var util = require('util');util.inherits(Duplexer, stream.Duplex);function Duplexer(opt) {  stream.Duplex.call(this, opt);  this.data = [];}Duplexer.prototype._read = function readItem(size) {  var chunk = this.data.shift();  if (chunk == "stop"){    this.push(null);  } else{    if(chunk){      this.push(chunk);    }  }};Duplexer.prototype._write = function(data, encoding, callback) {  this.data.push(data);  callback();};var d = new Duplexer({allowHalfOpen:true});d.on('data', function(chunk){  console.log('read: ', chunk.toString());});d.on('readable',function(){  console.log("readable");})d.on('end', function(){  console.log('Message Complete');});d.write("I think, ");d.write("therefore ");d.write("I am.");d.write("Rene Descartes");d.write("stop");

输出结果:

"C:\Program Files (x86)\JetBrains\WEBStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe stream_duplex.jsread:  I think, read:  therefore read:  I am.read:  Rene DescartesreadablereadablereadableMessage CompleteProcess finished with exit code 0

Transform变换流扩展了Duplex流,不需要实现而是直接提供。但要实现_transform(chunk,encoding,callback)._flush()这个方法不知道用来做什么的目前

var stream = require("stream");var util = require("util");util.inherits(JSONObjectStream, stream.Transform);function JSONObjectStream (opt) {  stream.Transform.call(this, opt);};JSONObjectStream.prototype._transform = function (data, encoding, callback) {  object = data ? JSON.parse(data.toString()) : "";  this.emit("object", object);  object.handled = true;  this.push(JSON.stringify(object));  callback();};var tc = new JSONObjectStream();tc.on("object", function(object){  console.log("Name: %s", object.name);  console.log("Color: %s", object.color);});tc.on("data", function(data){  console.log("Data: %s", data.toString());});tc.write('{"name":"Carolinus", "color": "Green"}');tc.write('{"name":"Solarius", "color": "Blue"}');tc.write('{"name":"Lo Tae Zhao", "color": "Gold"}');tc.write('{"name":"Ommadon", "color": "Red"}');

输出结果:

"C:\Program Files (x86)\JetBrains\WebStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe stream_transform.jsName: CarolinusColor: GreenData: {"name":"Carolinus","color":"Green","handled":true}Name: SolariusColor: BlueData: {"name":"Solarius","color":"Blue","handled":true}Name: Lo Tae ZhaoColor: GoldData: {"name":"Lo Tae Zhao","color":"Gold","handled":true}Name: OmmadonColor: RedData: {"name":"Ommadon","color":"Red","handled":true}Process finished with exit code 0

关于“Node.js的Duplex流和Transform流怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: Node.js的Duplex流和Transform流怎么使用

本文链接: https://www.lsjlt.com/news/342811.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Node.js的Duplex流和Transform流怎么使用
    这篇文章主要介绍“Node.js的Duplex流和Transform流怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Node.js的Duplex流和Transform流怎么使用”文章能帮助大...
    99+
    2023-07-02
  • Node.js数据流Stream之Duplex流和Transform流用法
    Duplex流一个很好的例子是TCP套接字连接.需要实现_read(size)和_Write(data,encoding,callback)方法. var stream = requ...
    99+
    2024-04-02
  • 怎么使用nvm和nrm优化node.js工作流
    这篇文章主要介绍怎么使用nvm和nrm优化node.js工作流,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!对于一个 Web 开发从业人员的电脑,node.js 和它的 npm 包管...
    99+
    2024-04-02
  • Node.js数据流Stream之Readable流和Writable流用法
    一、前传 Stream在很多语言都会有,当然Node.js也不例外。数据流是可读、可写、或即可读又可写的内存结构。Node.js中主要包括Readable、Writable、Dupl...
    99+
    2024-04-02
  • 怎么掌握Node.Js流程
    本篇内容介绍了“怎么掌握Node.Js流程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1,项目前期准备:...
    99+
    2024-04-02
  • Node.js中怎么实现Stream流
    本篇内容主要讲解“Node.js中怎么实现Stream流”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js中怎么实现St...
    99+
    2024-04-02
  • Node.js中流(stream)的使用方法示例
    前言 本文主要给大家介绍了关于Node.js 流(stream)的使用方法,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 流是基于事件的API,用于管理和处理数据,而且有不错的效率.借助事件...
    99+
    2022-06-04
    中流 示例 使用方法
  • Node.js怎么使用流实现边读边写功能
    这篇“Node.js怎么使用流实现边读边写功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Node.js怎么使用流实现边读...
    99+
    2023-07-04
  • Vue防抖和节流怎么使用
    这篇文章主要介绍“Vue防抖和节流怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue防抖和节流怎么使用”文章能帮助大家解决问题。1. 观察者 防抖我们先从一个简单的组件开始,我们的任务是 ...
    99+
    2023-07-05
  • 怎么使用C++流插入和流提取运算符的重载
    这篇文章主要介绍“怎么使用C++流插入和流提取运算符的重载”,在日常操作中,相信很多人在怎么使用C++流插入和流提取运算符的重载问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用C++流插入和流提取运算符...
    99+
    2023-06-16
  • 怎么在Java中使用Stream流求和
    今天就跟大家聊聊有关怎么在Java中使用Stream流求和,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。BigDecimal:BigDecimal bb =lis...
    99+
    2023-06-06
  • Node.js中的可读流是什么
    本篇内容主要讲解“Node.js中的可读流是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js中的可读流是什么”吧!1. 基本概念1.1. 流的历...
    99+
    2024-04-02
  • 怎么理解java.lang.Runtime.exec的流输入和流读取
    这篇文章主要讲解了“怎么理解java.lang.Runtime.exec的流输入和流读取”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解java.lang.Runtime.exec的流...
    99+
    2023-06-25
  • 流光溢彩的 Node.js:流式传输数据的创新应用
    ...
    99+
    2024-04-02
  • node.js中怎么利用流实现读写同步
    node.js中怎么利用流实现读写同步,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。如下所示://10个数 10个字节,每次读4...
    99+
    2024-04-02
  • C#中流的使用和分类
    使用流读取、写入文件 使用流把文件读取到字节数组: //FileMode.Create, FileMode.Append //FileAccess.Write, FileAcces...
    99+
    2022-11-13
    C# 流使用 流分类
  • Java中Steam流怎么使用
    本篇内容介绍了“Java中Steam流怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一. 流的常用创建方法1-1 使用Collect...
    99+
    2023-07-06
  • Node.js中怎么实现异步流控制
    Node.js中怎么实现异步流控制,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.原生JavaScript模式本篇不针对初学...
    99+
    2024-04-02
  • 为什么Node.js会这么火呢?Node.js流行的原因
    Node.js是一项服务器技术,它用来构建和运行Web应用,这和ASP.NET,Ruby on Rails或Spring框架做的工作是类似 的。它使用JavaScript作为主要的开发语言,有一个自带的轻量...
    99+
    2022-06-04
    原因 Node js
  • Vue组件中怎么使用防抖和节流
    本篇内容介绍了“Vue组件中怎么使用防抖和节流”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在监听频繁触发的事件时,一定要多加小心,比如 用...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作