Node.jsストリームは、end
イベントとfinish
イベントの両方をトリガーします。両者の違いは何ですか?
end
およびfinish
は、異なるタイプのストリームでの同じイベントです。
stream.Readable
はend
とNEVER finish
のみを起動しますstream.Writable
はfinish
とNEVER end
のみを起動しますソース: https://nodejs.org/dist/latest-v5.x/docs/api/stream.html
同じイベントの異なる命名の理由は何ですか?
考えられる唯一の理由は、デュプレックスストリーム(stream.Duplex
)、stream.Readable
およびstream.Writable
インターフェース( https://nodejs.org/dist/latest-v5.x/docs/api/stream.html#stream_class_stream_duplex )は同時に読み取りおよび書き込み可能なストリームです。ストリームの読み取りの終了と書き込みの終了を区別するには、異なるイベントを起動する必要があります。 SO、デュプレックスストリームの場合、end
は読み取りの終わり、finish
は書き込みの終わりです。