我正在寻找运营商 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 没有任何订阅,所以不发射任何项目,使用运算符 skipUntil 的第一个 observable 应该跳过所有项目。但仍在发射所有 5 个项目。
知道为什么吗?
医生说。
Returns an Observable that skips items emitted by the source Observable until a second Observable emits