我试图了解如何repeatWhen
在 RxJava 中使用。javadoc令人困惑,当我在网上搜索时有人建议使用如下
MyRepeatFunction myRepeatFunction = new MyRepeatFunction(3);
observable1.repeatWhen(myRepeatFunction).subscribe((t) -> System.out.print(t));
class MyRepeatFunction implements Function<Observable<Object>, ObservableSource<Object>> {
private int repeatCount;
public MyRepeatFunction(int repeatCount) {
this.repeatCount = repeatCount;
}
@Override
public @NonNull ObservableSource<Object> apply(@NonNull Observable<Object> t) throws Throwable {
return t.delay(1, TimeUnit.SECONDS);
}
}
该代码return t.delay(1, TimeUnit.SECONDS);
将使其永远持续下去。在主线程停止之前它不会停止。我想重复可观察但仅重复次数或直到特定不正确。
我很困惑。帮助表示赞赏。