push([...transforms][, options])
新增于: v25.9.0
...transforms<Function> | <Object> 可选转换应用于可读侧。options<Object>highWaterMark<number> 在应用回压之前的最大缓冲槽数。必须 >= 1;小于 1 的值将被限制为 1。默认值:4。backpressure<string> 背压策略:'strict'、'block'、'drop-oldest'或'drop-newest'。默认:'strict'。signal<AbortSignal> 中止流。
- 返回:<Object>
writerPushWriter 作家的方面。readableAsyncIterable可读的一面。
创建一个具有背压的推流。写入器推送数据;可读端作为异步可迭代对象被消费。
🌐 Create a push stream with backpressure. The writer pushes data in; the readable side is consumed as an async iterable.
import { push, text } from 'node:stream/iter'; const { writer, readable } = push(); // Producer and consumer must run concurrently. With strict backpressure // (the default), awaited writes block until the consumer reads. const producing = (async () => { await writer.write('hello'); await writer.write(' world'); await writer.end(); })(); console.log(await text(readable)); // 'hello world' await producing;const { push, text } = require('node:stream/iter'); async function run() { const { writer, readable } = push(); // Producer and consumer must run concurrently. With strict backpressure // (the default), awaited writes block until the consumer reads. const producing = (async () => { await writer.write('hello'); await writer.write(' world'); await writer.end(); })(); console.log(await text(readable)); // 'hello world' await producing; } run().catch(console.error);
写入器返回 push() 符合 [Writer 接口][]。
🌐 The writer returned by push() conforms to the [Writer interface][].