RxSwift Observable.empty() 正在调用 onNext
RxSwift Observable.empty() is calling onNext
检测何时到达表格视图底部
如果不是底部 return Observable.empty()
如果 tableview 位于底部 return Observable.just(())
据我所知,Observable.empty()
没有调用 onNext
但 empty()
或 just()
调用 onNext
tableView.rx.contentOffset
.map {
self.isNearTheBottomEdge(contentOffset: [=11=], 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: [=10=], self.tableView) && self.postModel.isLoadingComplete.value
? Observable.just(())
: Observable.empty()
}
你可以阅读 map
和 flatMap
之间的区别
检测何时到达表格视图底部
如果不是底部 return Observable.empty()
如果 tableview 位于底部 return Observable.just(())
据我所知,Observable.empty()
没有调用 onNext
但 empty()
或 just()
调用 onNext
tableView.rx.contentOffset
.map {
self.isNearTheBottomEdge(contentOffset: [=11=], 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: [=10=], self.tableView) && self.postModel.isLoadingComplete.value
? Observable.just(())
: Observable.empty()
}
map
和 flatMap