Ich versuche Observable.forkJoin
zu verwenden und der Subskriptions-Handler wird niemals getroffen. Der forkJoin-Operator arbeitet für mich in anderen Teilen meiner App und der einzige Unterschied, den ich mir im nicht arbeitenden Szenario vorstellen kann, ist, dass die Observables mit ihrer BehaviorSubject
-Funktion aus asObservable()
-Objekten erstellt werden.
Dieser Abonnent wird getroffen
%Vor%Dies tut nicht
%Vor%Natürlich gibt es in meinem realen Anwendungsfall mehr als einen observablen, weshalb ich forkJoin an erster Stelle verwende.
Gibt es noch etwas, das an BehaviorSubject getan werden muss, damit es mit forkJoin funktioniert?
UPDATE:
Nachdem ich die RxJs-Dokumente ein wenig genauer untersucht hatte, wurde mir klar, dass Observable.combineLatest
viel besser für meinen Bedarf geeignet war als forkJoin
... Hier verlinken, falls einer auf diesen SO-Beitrag stößt:
Ссылка
Das Problem ist, dass forkJoin
den Observablen bei ihrer Fertigstellung beitritt.
In Ihrem ersten Snippet erstellen Sie eine Observable mit of
- welche bei subscribe
sofort einen Wert ausgibt und dann abschließt.
In Ihrem zweiten Snippet wird BehaviorSubject
nicht abgeschlossen. Wenn Sie complete
aufrufen würden, würden Sie den in der Konsole protokollierten Wert sehen:
Tags und Links angular rxjs behaviorsubject