RxJava verschmelzen entprellte und nicht entlarvte Observablen

8

Ich habe zwei Observable:

Observable O (open): Datei mit einigen Inhalten in textview geöffnet

Beobachtbare E (edit): Datei Inhalt in Textansicht bearbeitet

Ich möchte E beobachtbar machen und es mit O beobachtbar verbinden.

%Vor%

Das Problem ist, dass, wenn E ein Ereignis E1 ausstrahlt und unmittelbar danach O1 ein Ereignis ausgibt, wir folgendes ausgegeben haben:

%Vor%

Dies ist ein Diagramm dessen, was vor sich geht:

Wie kann man dieses übermäßige alte Ereignis von entlarvten Observablen loswerden?

    
wilddev 21.09.2016, 17:18
quelle

2 Antworten

2

Sie können versuchen

%Vor%
  

switchMap verhält sich ähnlich wie flatMap , außer dass ein neues Element immer vorhanden ist   von der Quelle Observable emittiert, wird es abbestellen und zu stoppen   Spiegelung der Observable, die von der generiert wurde   zuvor ausgegebenen Element und beginnen nur Spiegeln der aktuellen.

    
Crocodilys 26.09.2016 13:32
quelle
2

Ich sehe zwei Hauptoptionen. Eine ist die Verwendung von Zeitstempeln, die leicht genug ist, aber es gibt theoretische Race-Bedingungen (aber wahrscheinlich sehr unwahrscheinlich) und die andere Option ist die Verwendung einer eindeutigen Kennung für jede Dateiöffnung und die Ereignisse von Änderungen an den Text der geöffneten Datei sind begleitet mit der Kennung der Dateiöffnung.

Zeitstempel verwenden:

%Vor%

Ich vermute, dass die Zeitstempelversion ausreicht.

    
Dave Moten 27.09.2016 21:57
quelle

Tags und Links