SkipUntil 没有按预期工作

SkipUntil does not work as expect

我正在寻找操作员 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

运算符skipUntil本身订阅了参数中的observable。见源码here.