我正在寻找运营商SkipUntil,但似乎没有像我期望的那样工作。 这是我的代码
@Test
public void testSkiUitil() throws InterruptedException {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
Observable observable2 = Observable.just(1);
Subscription subscription = Observable.from(numbers)
.skipUntil(observable2)
.subscribe(System.out::println);
Thread.sleep(3000);
observable2.subscribe();
new TestSubscriber((Observer) subscription).awaitTerminalEvent(5, TimeUnit.SECONDS);
}
我试图证明,因为observable2没有任何订阅,所以不会发出任何项目第一个observable使用运算符skipUntil应该跳过所有项目。但仍然排放所有5个项目。
知道为什么吗?。
医生说。
Returns an Observable that skips items emitted by the source Observable until a second Observable emits