在结束流错误后写

时间:2018-04-12 19:02:50

标签: javascript node.js stream

我使用NodeJS Transform流从Readable流媒体流中读取数据,然后将其转换。

当我销毁转换流有时时,我得到一个错误,因为destroy函数取消了Transfrom流本身的排序,但执行此异步,如果它不够快,则Readable流在处置期间推送一些新数据,导致以下错误:

  

未捕获错误:写完后

我做错了什么,你在破坏之前编写了像unpipe这样的代码,或者在调用破坏之后如何确保可读性不会推送数据并且没有出现任何错误?

2 个答案:

答案 0 :(得分:1)

使用节点v8.11.1尝试openedChange来自<mat-select>回调内的流时,我可以使用Readable复制此问题。我延迟通话时错误消失了。

destroy()

答案 1 :(得分:0)

由于在on处理程序中突然关闭流而导致的类似错误是

  

错误[ERR_STREAM_DESTROYED]:在流被销毁后无法调用写入

解决这两个错误的方法是deferthe next tick的destroy()调用:

process.nextTick(() => stream.destroy());