节点流中的结束事件和结束事件有什么区别



Node.js 流会同时触发endfinish事件。两者之间有什么区别?

endfinish是相同的事件,但在不同类型的流上。

  • stream.Readable只开火end,从不finish
  • stream.Writable只开火finish,从不end

来源: https://nodejs.org/dist/latest-v5.x/docs/api/stream.html

为什么同一事件的命名不同?

我能想到的唯一原因是因为双工流(stream.Duplex),它同时实现stream.Readablestream.Writable接口(https://nodejs.org/dist/latest-v5.x/docs/api/stream.html#stream_class_stream_duplex)是可读和可写的流。若要区分流上的读取结束和写入结束,必须触发不同的事件。因此,对于双工流end是读取结束,finish是写入结束。

相关内容

  • 没有找到相关文章

最新更新