takeUntil
忽略掉在第二个 Observable 产生事件后发出的那部分元素

takeUntil 操作符将镜像源 Observable,它同时观测第二个 Observable。一旦第二个 Observable 发出一个元素或者产生一个终止事件,那个镜像的 Observable 将立即终止。
演示
let disposeBag = DisposeBag()let sourceSequence = PublishSubject<String>()let referenceSequence = PublishSubject<String>()sourceSequence.takeUntil(referenceSequence).subscribe { print($0) }.disposed(by: disposeBag)sourceSequence.onNext("🐱")sourceSequence.onNext("🐰")sourceSequence.onNext("🐶")referenceSequence.onNext("🔴")sourceSequence.onNext("🐸")sourceSequence.onNext("🐷")sourceSequence.onNext("🐵")
输出结果:
next(🐱)next(🐰)next(🐶)completed
