如果 RxJava 可观察性需要很长时间,你如何显示微调器?
我觉得必须有人尝试过这个,但是如果一个可观察的需要很长时间,我就找不到一个好方法来做某事。
这就是我想要的流程。
Start a search.
If the search takes longer than some time,
show a spinner or show progress bar.
When finished do subscription action and hide spinner/progress bar.
我能想到的最接近的就像一个Zip
manager.search(searchTerm)
.zip(Observable.Timer(1, TimeUnit.SECONDS))
.subscribe(
// if the search is non null then we are good
// if the long time is non 0 we need to show spinner
);
还有更好的事情要做吗?我一整天都在尝试,但没有成功。在一个完美的世界里,我觉得我想要这样的东西
manager.search(searchTerm)
.timeout(i -> /* do timeout stuff */, 1, TimeUnit.SECONDS)
.subscribe(item -> /* do search result stuff */);