Heim >Web-Frontend >js-Tutorial >Sind Rx-Observablen standardmäßig kalt? Den Datenfluss mit „Publish' und „Share' verstehen
Sind alle Rx-Observablen standardmäßig kalt?
Standardmäßig , alle Rx-Observablen sind kalt, mit Ausnahme von Subjekten. Das bedeutet, dass sie nur dann Werte ausgeben, wenn sie von mindestens einem Beobachter abonniert wurden.
Rx-Operatoren, um kalte Observablen in heiße Observablen umzuwandeln
Es gibt zwei Hauptoperatoren kann ein kaltes Observable in ein heißes Observable umwandeln:
withLatestFrom Operator und Cold Observables
withLatestFrom ändert nichts an der Kälte oder Hitze eines Observablen. In Ihrem Beispiel:
Rx.fromEvent und Hot/Cold-Verhalten
Die Diskrepanz, die Sie im beobachtet haben CodePen-Beispiel ist auf die Tatsache zurückzuführen, dass das Ereignis nur ausgegeben wird, wenn auf ein Element geklickt wird, nicht wenn das Observable Rx.fromEvent abonniert wird. Aus diesem Grund erhält jedes Abonnement der Observable ein anderes Ereignis.
Vereinfachtes Flussdiagramm für kalte Observablen
Um den vereinfachten Datenfluss für kalte Observablen zu veranschaulichen:
Source -> Observer1 -> Observer2
Vereinfachtes Flussdiagramm für heiße Observablen
Für heiße Observablen ist der Fluss:
Source -> Subject -> Observer1 -> Observer2
Das Subjekt fungiert als zentraler Knotenpunkt , eingehende Daten per Multicast an alle abonnierten Beobachter senden.
Multicasting-Operatoren (veröffentlichen/teilen)
Multicasting-Operatoren erstellen intern ein Subjekt und geben ein verbindbares Observable zurück. Wenn das Observable verbunden ist, abonniert das Subjekt das Upstream-Observable und sendet Daten per Multicast an alle abonnierten Beobachter.
Berücksichtigen Sie den Datenfluss bei der Verwendung von Operatoren
Den Datenfluss verstehen und das Verhalten der Bediener ist entscheidend. Auch wenn ein Observables heiß ist, ist es wichtig zu berücksichtigen, wie nachfolgende Operatoren sein Heiß- oder Kaltverhalten beeinflussen können.
Das obige ist der detaillierte Inhalt vonSind Rx-Observablen standardmäßig kalt? Den Datenfluss mit „Publish' und „Share' verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!