注册
iOS

iOS RXSwift 5.5

deferred

直到订阅发生,才创建 Observable,并且为每位订阅者创建全新的 Observable

deferred 操作符将等待观察者订阅它,才创建一个 Observable,它会通过一个构建函数为每一位订阅者创建新的 Observable。看上去每位订阅者都是对同一个 Observable 产生订阅,实际上它们都获得了独立的序列。

在一些情况下,直到订阅时才创建 Observable 是可以保证拿到的数据都是最新的。

debug

打印所有的订阅,事件以及销毁信息


演示

let disposeBag = DisposeBag()

let sequence = Observable<String>.create { observer in
observer.onNext("🍎")
observer.onNext("🍐")
observer.onCompleted()
return Disposables.create()
}

sequence
.debug("Fruit")
.subscribe()
.disposed(by: disposeBag)

输出结果:

2017-11-06 20:49:43.187: Fruit -> subscribed
2017-11-06 20:49:43.188: Fruit -> Event next(🍎)
2017-11-06 20:49:43.188: Fruit -> Event next(🍐)
2017-11-06 20:49:43.188: Fruit -> Event completed
2017-11-06 20:49:43.189: Fruit -> isDisposed

debounce

过滤掉高频产生的元素

debounce 操作符将发出这种元素,在 Observable 产生这种元素后,一段时间内没有新元素产生。

0 个评论

要回复文章请先登录注册