-
Notifications
You must be signed in to change notification settings - Fork 0
Filter Operators : TakeUntil
Devrath edited this page Dec 29, 2023
·
1 revision
- TakeUntil will continue to take
onNextevent until we indicate a trigger to stop that event.
// Create the observable
private val takeUntilSubject = PublishSubject.create<String>()
private val trigger = PublishSubject.create<Unit>()
private fun subscribetakeUntilDemo() {
takeUntilSubject.takeUntil(trigger).subscribeBy(
onNext = { println("Element printed:-> $it") },
onError = { println("Error Triggered") },
onComplete = { println("Complete Triggered") }
).addTo(subscription)
}
fun takeUntilDemo() {
// Subscribe the observer to the observable
subscribetakeUntilDemo()
// Publish some elements
takeUntilSubject.onNext(episodeI)
takeUntilSubject.onNext(episodeI)
takeUntilSubject.onNext(episodeI)
// Pass the onNext Event to trigger
trigger.onNext(Unit)
takeUntilSubject.onNext(episodeII)
takeUntilSubject.onNext(episodeII)
takeUntilSubject.onNext(episodeIII)
// Indicate completion of stream
takeUntilSubject.onComplete()
}Element printed:-> The Phantom Menace
Element printed:-> The Phantom Menace
Element printed:-> The Phantom Menace
Complete Triggered