Der Stream docs Zustand, dass Duplex Streams "Streams sind, die sowohl die lesbaren als auch die schreibbaren Schnittstellen implementieren" und Transform Streams "sind Duplex-Streams, bei denen die Ausgabe in irgendeiner Weise aus der Eingabe berechnet wird." Leider beschreiben die Dokumente nicht, was Transform-Streams über Duplex-Streams hinaus bieten.NodeJS: Was ist der Unterschied zwischen einem Duplex-Stream und einem Transform-Stream?
Gibt es Unterschiede zwischen den beiden? Wann würdest du eins über dem anderen benutzen?
Ich glaube, ich verstehe! Transform Streams müssen die '_transform'-Methode implementieren, die die gleiche Signatur wie die' _write'-Methode eines Schreibbaren Streams hat. Dies bedeutet, dass das, was gelesen wird, davon abhängt, was geschrieben wird. Eine Implikation davon ist, dass Sie nicht die Anzahl der Bytes angeben können, die zu einem Zeitpunkt wie '_read' gelesen werden, es ist einfach die Anzahl der Bytes, die Sie geschrieben haben. Auf der anderen Seite, mit * kann * theoretisch theoretisch ein '_read' machen, das von' _write' abhängt, oder sogar das '_write', das von' _read' abhängt, aber keine Lese-/Schreibverknüpfung von der Duplex Stream-Klasse selbst. – brainkim
+1 für das ASCII-Diagramm, sollten sie in den node.js-Dokumenten verwendet werden, die helfen würden, die Konzepte viel besser zu vermitteln –