节点stream中的结束和结束事件有什么区别?
Node.jsstream触发finish
事件和finish
事件。 两者有什么区别?
end
和finish
是相同的事件,但在不同types的stream。
- 只有
stream.Readable
火才能end
,永不finish
-
stream.Writable
火只finish
,永远不会end
来源: https : //nodejs.org/dist/latest-v5.x/docs/api/stream.html
为什么同一事件的命名不同?
我能想到的唯一原因是双工stream( stream.Writable
),它实现了stream.Readable
和stream.Writable
接口( https://nodejs.org/dist/latest-v5.x/docs/api/ stream.html#stream_class_stream_duplex )是同时可读写的stream。 要区分阅读的结束和写在stream的结束,你必须有一个不同的事件发射。 所以,对于双面stream来说, end
是阅读的结束, finish
是写作的结束。