Das weiß ich schon
publish
teilt ein einzelnes Abonnement und gibt auch ConnectableObservable
zurück (also müssen wir Connect()
)
Share()
ist publish().refcount()
Der Replay
Postfix ist ziemlich offensichtlich, er gibt seine letzte Emission / s zurück.
Nehmen wir zum Beispiel eine Angular HTTP-Anfrage mit dem aktuellen AND Future-Abonnement:
%Vor% Wenn ich nicht mehrere http
Anfragen haben möchte, kann ich verwenden:
publishReplay().Connect()
Aber ich kann auch verwenden: shareReplay()
, aber ich bin mir sicher, dass es hier einen gibt, der korrekter ist als der andere.
Frage:
Wann sollte ich publishReplay
vs shareReplay
verwenden? Was ist der Unterschied in Bezug auf diese Http vorhanden & amp; zukünftige Anfrage?
NB
Warum gibt es keine Dokumentation über shareReplay
?
publishReplay
können Sie steuern, wann das Abonnement gestartet wird. shareReplay
wird automatisch beim ersten Abonnement gestartet.
Wenn das Observable in einer Vorlage (HTML-Datei) verwendet werden soll, verwenden Sie shareReplay
. Der Vorteil ist, dass Sie sich keine Gedanken über das Abmelden usw. machen müssen.
Tags und Links javascript angular rxjs