io.reactivex.Observable.skip()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(8.6k)|赞(0)|评价(0)|浏览(141)

本文整理了Java中io.reactivex.Observable.skip()方法的一些代码示例,展示了Observable.skip()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Observable.skip()方法的具体详情如下:
包路径:io.reactivex.Observable
类名称:Observable
方法名:skip

Observable.skip介绍

[英]Returns an Observable that skips the first count items emitted by the source ObservableSource and emits the remainder.

Scheduler: This version of skip does not operate by default on a particular Scheduler.
[中]返回一个Observable,它跳过源ObservableSource发出的第一个计数项,并发出剩余的计数项。
调度程序:默认情况下,此版本的skip不会在特定调度程序上运行。

代码示例

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public Observable<Object> apply(Observable<Object> o)
  3. throws Exception {
  4. return o.skip(1);
  5. }
  6. });

代码示例来源:origin: ReactiveX/RxJava

  1. @Test(expected = NullPointerException.class)
  2. public void skipTimedSchedulerNull() {
  3. just1.skip(1, TimeUnit.SECONDS, null);
  4. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSkipNegativeElements() {
  3. Observable<String> skip = Observable.just("one", "two", "three").skip(-99);
  4. Observer<String> observer = TestHelper.mockObserver();
  5. skip.subscribe(observer);
  6. verify(observer, times(1)).onNext("one");
  7. verify(observer, times(1)).onNext("two");
  8. verify(observer, times(1)).onNext("three");
  9. verify(observer, never()).onError(any(Throwable.class));
  10. verify(observer, times(1)).onComplete();
  11. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSkipTwoElements() {
  3. Observable<String> skip = Observable.just("one", "two", "three").skip(2);
  4. Observer<String> observer = TestHelper.mockObserver();
  5. skip.subscribe(observer);
  6. verify(observer, never()).onNext("one");
  7. verify(observer, never()).onNext("two");
  8. verify(observer, times(1)).onNext("three");
  9. verify(observer, never()).onError(any(Throwable.class));
  10. verify(observer, times(1)).onComplete();
  11. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void dispose() {
  3. TestHelper.checkDisposed(Observable.just(1).skip(2));
  4. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSkipEmptyStream() {
  3. Observable<String> w = Observable.empty();
  4. Observable<String> skip = w.skip(1);
  5. Observer<String> observer = TestHelper.mockObserver();
  6. skip.subscribe(observer);
  7. verify(observer, never()).onNext(any(String.class));
  8. verify(observer, never()).onError(any(Throwable.class));
  9. verify(observer, times(1)).onComplete();
  10. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSkipZeroElements() {
  3. Observable<String> skip = Observable.just("one", "two", "three").skip(0);
  4. Observer<String> observer = TestHelper.mockObserver();
  5. skip.subscribe(observer);
  6. verify(observer, times(1)).onNext("one");
  7. verify(observer, times(1)).onNext("two");
  8. verify(observer, times(1)).onNext("three");
  9. verify(observer, never()).onError(any(Throwable.class));
  10. verify(observer, times(1)).onComplete();
  11. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSkipOneElement() {
  3. Observable<String> skip = Observable.just("one", "two", "three").skip(1);
  4. Observer<String> observer = TestHelper.mockObserver();
  5. skip.subscribe(observer);
  6. verify(observer, never()).onNext("one");
  7. verify(observer, times(1)).onNext("two");
  8. verify(observer, times(1)).onNext("three");
  9. verify(observer, never()).onError(any(Throwable.class));
  10. verify(observer, times(1)).onComplete();
  11. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSkipError() {
  3. Exception e = new Exception();
  4. Observable<String> ok = Observable.just("one");
  5. Observable<String> error = Observable.error(e);
  6. Observable<String> skip = Observable.concat(ok, error).skip(100);
  7. Observer<String> observer = TestHelper.mockObserver();
  8. skip.subscribe(observer);
  9. verify(observer, never()).onNext(any(String.class));
  10. verify(observer, times(1)).onError(e);
  11. verify(observer, never()).onComplete();
  12. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test(expected = NullPointerException.class)
  2. public void skipTimedUnitNull() {
  3. just1.skip(1, null, Schedulers.single());
  4. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSkipMultipleObservers() {
  3. Observable<String> skip = Observable.just("one", "two", "three")
  4. .skip(2);
  5. Observer<String> observer1 = TestHelper.mockObserver();
  6. skip.subscribe(observer1);
  7. Observer<String> observer2 = TestHelper.mockObserver();
  8. skip.subscribe(observer2);
  9. verify(observer1, times(1)).onNext(any(String.class));
  10. verify(observer1, never()).onError(any(Throwable.class));
  11. verify(observer1, times(1)).onComplete();
  12. verify(observer2, times(1)).onNext(any(String.class));
  13. verify(observer2, never()).onError(any(Throwable.class));
  14. verify(observer2, times(1)).onComplete();
  15. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public Observable<Movie> apply(Observable<List<Movie>> movieList) {
  3. return movieList
  4. .startWith(new ArrayList<Movie>())
  5. .buffer(2, 1)
  6. .skip(1)
  7. .flatMap(calculateDelta);
  8. }
  9. };

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void skipTimedDefaultScheduler() {
  3. Observable.just(1).skip(1, TimeUnit.MINUTES)
  4. .test()
  5. .awaitDone(5, TimeUnit.SECONDS)
  6. .assertResult();
  7. }
  8. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testRequestOverflowDoesNotOccur() {
  3. TestObserver<Integer> to = new TestObserver<Integer>();
  4. Observable.range(1, 10).skip(5).subscribe(to);
  5. to.assertTerminated();
  6. to.assertComplete();
  7. to.assertNoErrors();
  8. assertEquals(Arrays.asList(6, 7, 8, 9, 10), to.values());
  9. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testAsyncComeAndGo() {
  3. Observable<Long> source = Observable.interval(1, 1, TimeUnit.MILLISECONDS)
  4. .take(1000)
  5. .subscribeOn(Schedulers.io());
  6. Observable<Long> cached = source.replay().autoConnect();
  7. Observable<Long> output = cached.observeOn(Schedulers.computation());
  8. List<TestObserver<Long>> list = new ArrayList<TestObserver<Long>>(100);
  9. for (int i = 0; i < 100; i++) {
  10. TestObserver<Long> to = new TestObserver<Long>();
  11. list.add(to);
  12. output.skip(i * 10).take(10).subscribe(to);
  13. }
  14. List<Long> expected = new ArrayList<Long>();
  15. for (int i = 0; i < 10; i++) {
  16. expected.add((long)(i - 10));
  17. }
  18. int j = 0;
  19. for (TestObserver<Long> to : list) {
  20. to.awaitTerminalEvent(3, TimeUnit.SECONDS);
  21. to.assertNoErrors();
  22. to.assertTerminated();
  23. for (int i = j * 10; i < j * 10 + 10; i++) {
  24. expected.set(i - j * 10, (long)i);
  25. }
  26. to.assertValueSequence(expected);
  27. j++;
  28. }
  29. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testAsyncComeAndGo() {
  3. Observable<Long> source = Observable.interval(1, 1, TimeUnit.MILLISECONDS)
  4. .take(1000)
  5. .subscribeOn(Schedulers.io());
  6. ObservableCache<Long> cached = new ObservableCache<Long>(source, 16);
  7. Observable<Long> output = cached.observeOn(Schedulers.computation());
  8. List<TestObserver<Long>> list = new ArrayList<TestObserver<Long>>(100);
  9. for (int i = 0; i < 100; i++) {
  10. TestObserver<Long> to = new TestObserver<Long>();
  11. list.add(to);
  12. output.skip(i * 10).take(10).subscribe(to);
  13. }
  14. List<Long> expected = new ArrayList<Long>();
  15. for (int i = 0; i < 10; i++) {
  16. expected.add((long)(i - 10));
  17. }
  18. int j = 0;
  19. for (TestObserver<Long> to : list) {
  20. to.awaitTerminalEvent(3, TimeUnit.SECONDS);
  21. to.assertNoErrors();
  22. to.assertComplete();
  23. for (int i = j * 10; i < j * 10 + 10; i++) {
  24. expected.set(i - j * 10, (long)i);
  25. }
  26. to.assertValueSequence(expected);
  27. j++;
  28. }
  29. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void fromIterable() {
  3. ArrayList<String> items = new ArrayList<String>();
  4. items.add("one");
  5. items.add("two");
  6. items.add("three");
  7. assertEquals((Long)3L, Observable.fromIterable(items).count().blockingGet());
  8. assertEquals("two", Observable.fromIterable(items).skip(1).take(1).blockingSingle());
  9. assertEquals("three", Observable.fromIterable(items).takeLast(1).blockingSingle());
  10. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void fromArityArgs3() {
  3. Observable<String> items = Observable.just("one", "two", "three");
  4. assertEquals((Long)3L, items.count().blockingGet());
  5. assertEquals("two", items.skip(1).take(1).blockingSingle());
  6. assertEquals("three", items.takeLast(1).blockingSingle());
  7. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void zip2DelayErrorPrefetch() {
  3. Observable.zip(Observable.range(1, 9).concatWith(Observable.<Integer>error(new TestException())),
  4. Observable.range(21, 9),
  5. new BiFunction<Integer, Integer, Object>() {
  6. @Override
  7. public Object apply(Integer a, Integer b) throws Exception {
  8. return "" + a + b;
  9. }
  10. }, true, 2
  11. )
  12. .skip(8)
  13. .test()
  14. .assertFailure(TestException.class, "929");
  15. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void fromArray() {
  3. String[] items = new String[] { "one", "two", "three" };
  4. assertEquals((Long)3L, Observable.fromArray(items).count().blockingGet());
  5. assertEquals("two", Observable.fromArray(items).skip(1).take(1).blockingSingle());
  6. assertEquals("three", Observable.fromArray(items).takeLast(1).blockingSingle());
  7. }

相关文章

Observable类方法