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