let stream = PublishSubject<Int>()
let trigger = PublishSubject<Void>()
stream.sample(trigger).subscribeNext { value in print("value \(value)") }
stream.onNext(5)
trigger.onCompleted()
Das obige gibt "Wert 5" an die Konsole aus. Ich finde das überraschend, da ich onNext() nie am Trigger angerufen habe.`sample` wird ausgelöst, wenn sie abgeschlossen ist. Wie vermeide ich?
In meinem Fall stellt trigger
eine Sicherungstaste rx_tap
dar und die stream
stellt einen gültigen Eingang dar, der gespeichert werden soll. Mein Problem ist, dass der Stream gespeichert wird, wenn der Trigger (bei Zerstörung) abgeschlossen ist, auch wenn er nicht angezapft wurde.