gpt4 book ai didi

java - RxJava2 : Repeat conditonally/don't repeat in `repeatWhen`

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:29:36 26 4
gpt4 key购买 nike

我有一个 Observable,我想定期重复,但仅限于以下条件:

apiInterface.getData() // returns Observable<Data>
... // processing is happening here
.toList()
.repeatWhen(completed -> {
if (autoReload){
// Repeat every 3 seconds
return completed.delay(3, TimeUnit.SECONDS);
} else {
return ??? // What do I have to return that it does not repeat?
}
})
.subscribe(list -> callbackInterface.success(list));

我的问题是:我必须在 else 语句中返回什么才能不重复 Observable(只执行一次链)?

最佳答案

您必须对完成指示器使用react,以表示对某个项目的响应已完成,例如:

completed.takeWhile(v -> false);

不幸的是,empty() 在那里不起作用,因为它甚至在源代码运行之前就立即完成了序列。

关于java - RxJava2 : Repeat conditonally/don't repeat in `repeatWhen` ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44798232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com