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

时间:2015-08-05 05:33:15

标签: rx-java

如何创建Observable重复n次,除非某些条件满足,然后应该被中断?

查看类似repeatUnless或类似操作符的内容。

1 个答案:

答案 0 :(得分:5)

有两种选择:

1)如果要中断值序列:

source.repeat(n).takeWhile(condition);
source.repeat(n).takeUntil(condition);

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

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