[英]RxSwift Observable.empty() is calling onNext
檢測何時到達 tableview 底部如果不是底部return Observable.empty()
如果 tableview 是底部return Observable.just(())
據我所知是Observable.empty()
沒有調用 onNext
但是empty()
或just()
調用 onNext
tableView.rx.contentOffset
.map {
self.isNearTheBottomEdge(contentOffset: $0, self.tableView) && self.postModel.isLoadingComplete.value
? Observable.just(())
: Observable.empty()
}
.throttle(3, scheduler: MainScheduler.instance)
.subscribe(onNext: {
print("reached bottom")
self.postModel.nextPage.onNext(())
},onCompleted: {
print("complete")
}
)
.disposed(by: disposeBag)
在調試中return Observable.empty()
但總是print("reached bottom")
如果你想讓subscribe(onNext)
不被 Observable.empty() 調用,只需將.map{}
更改為.flatMap{}
tableView.rx.contentOffset
.flatMap {
self.isNearTheBottomEdge(contentOffset: $0, self.tableView) && self.postModel.isLoadingComplete.value
? Observable.just(())
: Observable.empty()
}
在這里您可以閱讀map
與flatMap
之間的區別
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.