2017-01-31 4 views
2

In Java PropertyChangeSupport Observable unterhält eine Liste von Beobachtern. Wenn Observable also gelöscht wird, wird der Observer einem Müllsammeln unterzogen.Wer hält den Link in ReactiveX?

Also, ein Observable hält den Link.

Ich habe den Eindruck, dass dies nicht für ReactiveX gilt. Observable hat subscribe-Methode, gibt aber Subscription Objekt zurück. Enthält dieses Objekt den Link?

Wenn ich dieses Objekt zum Beobachter mit add() hinzufügen, wird dies die einzige Möglichkeit sein, den Beobachter den Link halten zu lassen? Oder Beobachter halt den Link trotzdem?

Antwort

0

Ich denke immer noch das Observable hält die Verbindung zum Observer. Überprüfen Sie den folgenden Code.

Wir rufen einige Rest Service asynchron. Sobald wir das Ergebnis erhalten haben, benachrichtigen wir den Observer mit der onNext-Methode und geben das Objekt aus, bevor wir den Abschluss an den Observer melden. Ich habe einige Blogposts geschrieben [1] [2] [3] und Sie können sie in RxJava Landscape nützlich finden. Es folgt ein kleiner Auszug aus meinem Blogpost. Danach ist ziemlich klar, dass Observable den Hinweis auf Observer enthält.

RxJava bietet Observables und Observer. Observables können Werte senden. Beobachter, beobachte Observables, indem du sie abonnierst. Beobachter werden benachrichtigt, wenn ein Observable einen Wert ausgibt, wenn nach dem Observable ein Fehler aufgetreten ist. Sie werden auch benachrichtigt, wenn das Observable die Information sendet, dass es keine Werte mehr zu emittieren hat. Die entsprechenden Funktionen sind onNext, onError und onCompleted() von der Observer-Schnittstelle. Eine Subskriptionsinstanz stellt die Verbindung zwischen einem Beobachter und einer Observablen dar. Wenn Sie für diese Instanz den Befehl unsubscribe() aufrufen, wird die Verbindung entfernt.

Hoffe, das hilft. Glückliche Kodierung!

[1] http://ravindraranwala.blogspot.com/2016/12/introducing-java-reactive-extentions-in.html [2] http://ravindraranwala.blogspot.com/2017/01/calling-exterenal-nosql-database.html [3] http://ravindraranwala.blogspot.com/2017/01/combine-emissions-of-multiple_16.html

Verwandte Themen