當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js new stream.Readable([options])用法及代碼示例


new stream.Readable([options])

曆史
版本變化
v15.5.0

支持傳入 AbortSignal。

v14.0.0

autoDestroy 選項默認更改為 true

v11.2.0、v10.16.0

添加 autoDestroy 選項以在流發出 'end' 或錯誤時自動 destroy() 流。


參數
const { Readable } = require('node:stream');

class MyReadable extends Readable {
  constructor(options) {
    // Calls the stream.Readable(options) constructor.
    super(options);
    // ...
  }
}

或者,當使用 pre-ES6 風格的構造函數時:

const { Readable } = require('node:stream');
const util = require('node:util');

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

或者,使用簡化的構造方法:

const { Readable } = require('node:stream');

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

在對應於傳遞的 AbortSignalAbortController 上調用 abort 的行為方式與在創建的可讀文件上調用 .destroy(new AbortError()) 的方式相同。

const { Readable } = require('node:stream');
const controller = new AbortController();
const read = new Readable({
  read(size) {
    // ...
  },
  signal: controller.signal
});
// Later, abort the operation closing the stream
controller.abort();

相關用法


注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品 new stream.Readable([options])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。