我有一个 ReadableStream 和一个 WriteableStream。在实例化两个对象后,我将可读流通过管道传输到可写流中。
const readable = getReadableStreamSomehow();
const writeable = new WriteableStreamObject();
readable.pipe(writeable);
有没有一种方法可以在不引用可读流的情况下取消流。
解决这个问题的通常方法当然是
readable.unpipe(writeable);
但是在这种情况下,我不再有权访问可读对象,只能访问可写对象。我想做一些类似的事情
writeable.disconnectAllStreams()
我需要这样做的原因是,在某些时候我不再需要可写对象,我需要将其从流中断开。我可以丢弃所有引用以便对其进行垃圾收集,但如果不取消管道,流将很高兴地继续永远消耗内存(流永远不会结束),并且由于流仍然保留引用,因此对象将永远不会被垃圾收集。