readable.wrap(stream)


在 Node.js 0.10 之前,流没有实现当前定义的整个 node:stream 模块 API。 (有关更多信息,请参阅兼容性。)

当使用旧的 Node.js 库,它触发 'data' 事件并且有一个 stream.pause() 方法只是建议性的,readable.wrap() 方法可用于创建一个使用旧流作为其数据源的 Readable 流。

很少需要使用 readable.wrap(),但提供该方法是为了方便与较旧的 Node.js 应用程序和库进行交互。

const { OldReader } = require('./old-api-module.js');
const { Readable } = require('node:stream');
const oreader = new OldReader();
const myReader = new Readable().wrap(oreader);

myReader.on('readable', () => {
  myReader.read(); // 等等。
});

Prior to Node.js 0.10, streams did not implement the entire node:stream module API as it is currently defined. (See Compatibility for more information.)

When using an older Node.js library that emits 'data' events and has a stream.pause() method that is advisory only, the readable.wrap() method can be used to create a Readable stream that uses the old stream as its data source.

It will rarely be necessary to use readable.wrap() but the method has been provided as a convenience for interacting with older Node.js applications and libraries.

const { OldReader } = require('./old-api-module.js');
const { Readable } = require('node:stream');
const oreader = new OldReader();
const myReader = new Readable().wrap(oreader);

myReader.on('readable', () => {
  myReader.read(); // etc.
});