2015-02-05 9 views

risposta

59

end e finish sono lo stesso evento MA su diversi tipi di flussi.

  • stream.Readable incendi SOLO end e MAI finish
  • stream.Writable incendi SOLO finish e MAI end

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

Perché la diversa denominazione dello stesso evento?

L'unico motivo ho potuto pensare è causa di flussi duplex (stream.Duplex), che implementano sia stream.Readable e stream.Writable interfacce (https://nodejs.org/dist/latest-v5.x/docs/api/stream.html#stream_class_stream_duplex) sono flusso leggibili e scrivibili allo stesso tempo. Per distinguere tra la fine della lettura e la fine della scrittura sullo stream è necessario attivare un evento diverso. SO, per i flussi Duplex end è la fine della lettura e finish è fine della scrittura.