2016-04-03 1 views
1

Grundsätzlich habe ich eine Kette, wo ich meine API aufrufen und es gibt ein Ergebnis zurück, das ich verwenden, um meine lokale Datenbank zu aktualisieren. Schließlich, nachdem das erledigt ist, habe ich Code in meinem onNext(), um die UI zu aktualisieren. Wenn der Benutzer die Aktivität schließt, muss ich den Abmeldeservice aufrufen, aber das könnte bedeuten, dass meine Datenbank möglicherweise nicht aktualisiert wird. Gibt es eine Möglichkeit, das sicherzustellen?Gibt es in RxJava/RxAndroid eine Möglichkeit, die Kette der Operatoren auch nach dem Abmelden zu beenden?

Antwort

1

Ja, Sie können doOnNext().publish().autoConnect() verwenden. Die doOnNext sollte die Datenbank speichern Logik und der Rest stellt sicher, dass es ausgeführt wird, auch wenn der Abonnent abgemeldet.

+0

aber wenn es onNext() abbestellt wird nie richtig benannt werden? und würde das nicht bedeuten, dass doOnNext() auch nicht aufgerufen wird? – Sree

+0

publish() wird dafür sorgen, dass es weiter läuft. – akarnokd

+0

können Sie erklären, was genau es tut? Wie funktioniert das ConnectableObservable? – Sree

Verwandte Themen