除非被打断,否则重复观察

Mar*_*kus 2 rx-java

我怎样才能创建一个Observable重复n次数,除非满足某些条件然后应该被中断?

看起来像repeatUnless或类似的运营商.

aka*_*okd 5

有两种选择:

1)如果要中断值序列:

source.repeat(n).takeWhile(condition);
source.repeat(n).takeUntil(condition);
Run Code Online (Sandbox Code Playgroud)

2)如果要重复n次或直到不再满足条件:

source.repeatWhen(o -> o.scan(1, (a, b) -> a + 1).takeUntil(i -> i < n || condition)))
Run Code Online (Sandbox Code Playgroud)