Node.js 检查NodeJS ClearTextStream是否为";结束;?

Node.js 检查NodeJS ClearTextStream是否为";结束;?,node.js,stream,Node.js,Stream,我有一个用于TLS连接的ClearTextStream,我想检查是否已经调用了“end”。实际的问题是,我试图在流中写入一些内容,但得到了一个“结束后写入”错误 为了避免这种情况,我只想检查是否已经调用了“end”。我确实有一个“关闭”事件,但并非所有情况下都会触发 我在网上找不到它,在谷歌上也找不到类似的东西 我可以检查错误事件(为我抛出“结束后写入”)并在那里处理这种情况——但一开始真的没有办法检查吗 谢谢 如果出现结束后写入错误,则表示您正试图将数据写入已关闭的可写入流(即无法再接受输入数

我有一个用于TLS连接的ClearTextStream,我想检查是否已经调用了“end”。实际的问题是,我试图在流中写入一些内容,但得到了一个“结束后写入”错误

为了避免这种情况,我只想检查是否已经调用了“end”。我确实有一个“关闭”事件,但并非所有情况下都会触发

我在网上找不到它,在谷歌上也找不到类似的东西

我可以检查错误事件(为我抛出“结束后写入”)并在那里处理这种情况——但一开始真的没有办法检查吗


谢谢

如果出现
结束后写入
错误,则表示您正试图将数据写入已关闭的
可写入
流(即无法再接受输入数据)。当可写流关闭时,将发出
finish
事件(请参阅)。另一方面,当底层资源关闭时(例如,当您正在读取的文件描述符关闭时),
close
事件由
Readable
流发出

由于
ClearTextStream
是一个
Duplex
流,它可以同时发出
close
finish
事件,但它们的含义并不相同。在您的特定情况下,您应该倾听
finish
事件并做出适当的反应

另一个解决方案是检查
this.ended
this.finished
布尔值(请参阅),但我不建议这样做,因为它们是私有变量,只反映实现细节,而不是公共API