Nach diesem Artikel schließen sich onComplete
und onError
Funktion der subscribe
gegenseitig aus.
Das heißt, entweder onError
oder onComplete
Ereignisse werden in meinem ausgelöst subscribe
.
Ich habe einen Logikblock, der ausgeführt werden muss, unabhängig davon, ob ich einen Fehler erhalte oder meinen Informationsdampf erfolgreich beendet habe.
Ich habe nach etwas wie finally
in Python gesucht , aber alles, was ich gefunden habe, ist, finally
was an das von mir erstellte Observable angehängt werden muss.
Aber ich möchte diese Logik nur dann ausführen, wenn ich mich anmelde und nachdem der Stream beendet wurde, ob erfolgreich oder mit einem Fehler.
Irgendwelche Ideen?
quelle
finally()
Methode zuerst angehängt wird und das Abonnement zwangsläufig das Bestehen / Nichtbestehen erzwingt.finally
Block in Ihrem Code an letzter Stelle steht.Das einzige, was für mich funktioniert hat, ist dies
quelle
Ich verwende jetzt RxJS 5.5.7 in einer Angular-Anwendung und der
finalize
Operator hat ein seltsames Verhalten für meinen Anwendungsfall, da er vor erfolgreichen oder fehlerhaften Rückrufen ausgelöst wird.Einfaches Beispiel:
Ich musste das
add
Medhod im Abonnement verwenden, um das zu erreichen, was ich will. Grundsätzlich erfolgt einfinally
Rückruf nach den erfolgreichen oder fehlerhaften Rückrufen. Wie eintry..catch..finally
Block oder einePromise.finally
Methode.Einfaches Beispiel:
quelle