`
xieye
  • 浏览: 803903 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

node的流对象学习(读流和写流)

阅读更多
依然用上次的数列实现。

这次包含一个读流对象,一个写流对象。
全部代码

/**
 * 用流来实现斐波那契数列
 * 
 * @author yyy
 */
var stream=require('stream');
var util=require('util');

// -------------- 下面是可读流 -----------------
function StreamChildRead(n)
{
    this.a=0;
    this.b=1;
    this.n = n;
    stream.Readable.call(this);
}
util.inherits(StreamChildRead, stream.Readable );

// 覆盖父类的方法
StreamChildRead.prototype._read = function(){
    this.push( this.a.toString());
    this.push(  this.b.toString());
    
    for(let i=2;i<= this.n+1-2;i++) {
      [this.a, this.b] = [this.b, this.a+this.b];
      this.push( `${this.b}`  );
    }
    this.push(null);
};

// --------------- 下面是可写流  --------------

function StreamChildWrite()
{
    this.count=0;
    stream.Writable.call(this);
}
util.inherits(StreamChildWrite, stream.Writable );

// 覆盖父类的方法
StreamChildWrite.prototype._write = function(chunk,encoding,callback){
   process.stdout.write( ('f('+ this.count++) +"):"+ chunk.toString()+'\n');
   callback();
};

 (new StreamChildRead(10)).pipe(new  StreamChildWrite());


输出如下所示:
f(0):0
f(1):1
f(2):1
f(3):2
f(4):3
f(5):5
f(6):8
f(7):13
f(8):21
f(9):34

分享到:
评论

相关推荐

    说说node中的可读流和可写流的区别

    流又分为四种类型:可读流、可写流、双工流和转换流。后两种其实是对可读和可写流的应用。所以我想先聊聊可读流和可写流。 可读流 可读流有两种模式,并随时可以转换,我们可以通过监听可读流的事件来操作它。 两种...

    vw-stream:使用流的 Node.js 的 Vowpal Wabbit 包装器

    流抽象:将 Vowpal Wabbit 学习器进程视为可写和可读的流。 您编写训练或测试示例,并从流中读取预测。 稀疏示例格式:将您的训练或测试示例和观察结果自然地表示为稀疏 JavaScript 对象。 命名空间映射:使用描述...

    node的process以及child_process模块学习笔记

    在死磕进程一个礼拜后,终于把晦涩难懂... stdin 标准输入可读流 stdout 标准输入可写流 stderr 标准错误输出流 argv 终端输入参数数组 env 操作系统环境信息 pid 应用程序进程id stdin以及stdout process.std

    Nodejs学习笔记之Stream模块

    一,开篇分析 流是一个抽象接口,被 Node 中的很...和unix一样,node stream主要的操作也是.pipe(),使用者可以使用反压力机制来控制读和写的平衡。 Stream 可以为开发者提供可以重复使用统一的接口,通过抽象的Stream

    node-simple-http2:Node.js 简单实现 http2 服务器

    简单实现 HTTP/2 服务器用于学习 HTTP/2 的日志记录帧信息使用某些浏览器初学者可读(无流和无对象)克隆 $ git clone https://github.com/jinjor/node-simple-http2.git样本 $ cd node-simple-http2/sample$ node ...

    详解如何模拟实现node中的Events模块(通俗易懂版)

    data 事件,流对象为可读状态触发 readable 事件,当数据读写完毕后发送 end 事件。 既然 Events 模块如此重要,我们有必要来学习一下 Events 模块的基本使用,以及如何模拟实现 Events 模块中常用的 api 一、...

    理解 Node.js 事件驱动机制的原理

    学习 Node.js 一定要理解的内容之一,文中主要涉及到了 EventEmitter 的使用和一些异步情况的处理,比较偏基础,值得一读。 大多数 Node.js 对象都依赖了 EventEmitter 模块来监听和响应事件,比如我们常用的 ...

    nodejs-fs:探索NodeJS的fs模块

    该项目的目的是记录和学习nodejs项目中fs模块的用法。 fs模块用于基于文件的操作。 var fs = require("fs") fs模块提供同步和异步方法。 fs模块中的每个方法都具有同步和异步形式。 异步方法将最后一个参数作为...

    TCP_IP详解卷1

    本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 ...

    TCPIP详解卷[1].part04

    本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 ...

    TCPIP详解卷[1].part09

    本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 ...

    TCPIP详解卷[1].part05

    本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 ...

    TCPIP详解卷[1].part03

    本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 ...

    TCPIP详解卷[1].part06

    本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 ...

    TCP/IP详解part_2

    本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 ...

    TCPIP详解卷[1].part08

    本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 ...

    TCPIP详解卷[1].part11

    本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 ...

    TCPIP详解卷[1].part12

    本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 ...

    TCPIP详解卷[1].part07

    本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 ...

    TCPIP详解卷[1].part10

    本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 目 录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 ...

Global site tag (gtag.js) - Google Analytics