阿西河

所有教程

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

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Node.js new stream.Duplex

      Node.js new stream.Duplex(options)

      版本历史

      版本变更
      v8.4.0The readableHighWaterMark and writableHighWaterMark options are supported now.
      • options < Object> 同时传给 Writable 和 Readable 的构造函数。 * allowHalfOpen < boolean> 如果设为 false,则当可读端结束时,可写端也会自动结束。 默认为 true。
        • readableObjectMode < boolean> 设置流的可读端为 objectMode。 如果 objectMode 为 true,则不起作用。 默认为 false。
        • writableObjectMode < boolean> 设置流的可写端为 objectMode。 如果 objectMode 为 true,则不起作用。 默认为 false。
        • readableHighWaterMark < number> 设置流的可读端的 highWaterMark。 如果已经设置了 highWaterMark,则不起作用。
        • writableHighWaterMark < number> 设置流的可写端的 highWaterMark。 如果已经设置了 highWaterMark,则不起作用。

      例子:

      const { Duplex } = require('stream');
      
      class MyDuplex extends Duplex {
        constructor(options) {
          super(options);
          // ...
        }
      }
      

      使用 ES6 之前的语法:

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

      使用简化的构造函数:

      const { Duplex } = require('stream');
      
      const myDuplex = new Duplex({
        read(size) {
          // ...
        },
        write(chunk, encoding, callback) {
          // ...
        }
      });
      

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


      目录
      本文目录
      目录