标签:操作符 note blank 结束 int sed data ref bag
仅仅从 Observable 中发出头 n 个元素
通过 take 操作符你可以只发出头 n 个元素。并且忽略掉后面的元素,直接结束序列。
let disposeBag = DisposeBag()
Observable.of("??", "??", "??", "??", "??", "??")
.take(3)
.subscribe(onNext: { print($0) })
.disposed(by: disposeBag)
仅仅从 Observable 中发出尾部 n 个元素
通过 takeLast 操作符你可以只发出尾部 n 个元素。并且忽略掉前面的元素。
let disposeBag = DisposeBag()
Observable.of("??", "??", "??", "??", "??", "??")
.takeLast(3)
.subscribe(onNext: { print($0) })
.disposed(by: disposeBag)
忽略掉在第二个 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("??")
镜像一个 Observable 直到某个元素的判定为 false
takeWhile 操作符将镜像源 Observable 直到某个元素的判定为 false。此时,这个镜像的 Observable 将立即终止。
let disposeBag = DisposeBag()
Observable.of(1, 2, 3, 4, 3, 2, 1)
.takeWhile { $0 < 4 }
.subscribe(onNext: { print($0) })
.disposed(by: disposeBag)
标签:操作符 note blank 结束 int sed data ref bag
原文地址:https://www.cnblogs.com/liuxiaokun/p/12683793.html