Wann sollte ich 'publishReplay' vs 'shareReplay' verwenden?

9

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 ?

    
Royi Namir 21.12.2017, 13:42
quelle

1 Antwort

5
Mit

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.

    
Joe King 21.12.2017, 13:54
quelle

Tags und Links