SkipUntil 无法按预期工作

pau*_*aul 2 reactive-programming observable rx-java reactivex

我\xc2\xb4m 寻找运算符 SkipUntil,但似乎没有按我的预期工作。\n这是我的代码

\n\n
@Test\npublic void testSkiUitil() throws InterruptedException {\n    List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);\n    Observable observable2 = Observable.just(1);\n    Subscription subscription = Observable.from(numbers)\n                                          .skipUntil(observable2)\n                                          .subscribe(System.out::println);\n    Thread.sleep(3000);\n    observable2.subscribe();\n    new TestSubscriber((Observer) subscription).awaitTerminalEvent(5, TimeUnit.SECONDS);\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我试图证明,由于 observable2 没有任何订阅,因此不会发出任何项目,因此使用操作符skipUntil 的第一个 observable 应该跳过所有项目。但仍然发出所有 5 项。

\n\n

知道为什么吗?

\n\n

医生说。

\n\n
   Returns an Observable that skips items emitted by the source Observable until a second Observable emits\n
Run Code Online (Sandbox Code Playgroud)\n

Joh*_*wUs 5

运算符skipUntil 本身订阅了参数中的可观察值。请参阅此处的源代码。