阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Node.js new stream.Readable

      Node.js new stream.Readable([options])

      • options < Object>
        • highWaterMark < number> 从底层资源读取数据并存储在内部缓冲区中的最大字节数。 默认为 16384 (16kb), 对象模式的流默认为 16。
        • encoding < string> 如果指定了,则使用指定的字符编码将 buffer 解码成字符串。 默认为 null。
        • objectMode < boolean> 流是否可以是一个对象流。 也就是说 stream.read(n) 会返回对象而不是 Buffer。 默认为 false。
        • read < Function> 对 stream._read() 方法的实现。
        • destroy < Function> 对 stream._destroy() 方法的实现。

      例子:

      const { Readable } = require('stream');
      
      class MyReadable extends Readable {
        constructor(options) {
          // 调用 stream.Readable(options) 构造函数。
          super(options);
          // ...
        }
      }
      

      使用 ES6 之前的语法:

      const { Readable } = require('stream');
      const util = require('util');
      
      function MyReadable(options) {
        if (!(this instanceof MyReadable))
          return new MyReadable(options);
        Readable.call(this, options);
      }
      util.inherits(MyReadable, Readable);
      

      使用简化的构造函数:

      const { Readable } = require('stream');
      
      const myReadable = new Readable({
        read(size) {
          // ...
        }
      });
      

      更多内容请参考:Node.js stream 流,或者通过 点击对应菜单 进行查看;


      目录
      本文目录
      目录