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

x33g5p2x  于2022-01-19 转载在 其他  
字(8.1k)|赞(0)|评价(0)|浏览(204)

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

Flowable.skip介绍

[英]Returns a Flowable that skips the first count items emitted by the source Publisher and emits the remainder.

Backpressure: The operator doesn't interfere with backpressure which is determined by the source Publisher's backpressure behavior. Scheduler: This version of skip does not operate by default on a particular Scheduler.
[中]返回一个可流动项,该可流动项跳过源发布服务器发出的第一个计数项,并发出剩余的计数项。
背压:操作员不会干扰由源发布者的背压行为确定的背压。调度程序:默认情况下,此版本的skip不会在特定调度程序上运行。

代码示例

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

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

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

  1. @Override
  2. public Publisher<Integer> createPublisher(long elements) {
  3. return
  4. Flowable.range(0, (int)elements * 2).skip(elements)
  5. ;
  6. }
  7. }

代码示例来源: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 testSkipOneElement() {
  3. Flowable<String> skip = Flowable.just("one", "two", "three").skip(1);
  4. Subscriber<String> subscriber = TestHelper.mockSubscriber();
  5. skip.subscribe(subscriber);
  6. verify(subscriber, never()).onNext("one");
  7. verify(subscriber, times(1)).onNext("two");
  8. verify(subscriber, times(1)).onNext("three");
  9. verify(subscriber, never()).onError(any(Throwable.class));
  10. verify(subscriber, times(1)).onComplete();
  11. }

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

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

代码示例来源: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 testSkipNegativeElements() {
  3. Flowable<String> skip = Flowable.just("one", "two", "three").skip(-99);
  4. Subscriber<String> subscriber = TestHelper.mockSubscriber();
  5. skip.subscribe(subscriber);
  6. verify(subscriber, times(1)).onNext("one");
  7. verify(subscriber, times(1)).onNext("two");
  8. verify(subscriber, times(1)).onNext("three");
  9. verify(subscriber, never()).onError(any(Throwable.class));
  10. verify(subscriber, times(1)).onComplete();
  11. }

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

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

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

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

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

  1. @Override
  2. public Publisher<Movie> apply(Flowable<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 testSkipMultipleObservers() {
  3. Flowable<String> skip = Flowable.just("one", "two", "three")
  4. .skip(2);
  5. Subscriber<String> subscriber1 = TestHelper.mockSubscriber();
  6. skip.subscribe(subscriber1);
  7. Subscriber<String> subscriber2 = TestHelper.mockSubscriber();
  8. skip.subscribe(subscriber2);
  9. verify(subscriber1, times(1)).onNext(any(String.class));
  10. verify(subscriber1, never()).onError(any(Throwable.class));
  11. verify(subscriber1, times(1)).onComplete();
  12. verify(subscriber2, times(1)).onNext(any(String.class));
  13. verify(subscriber2, never()).onError(any(Throwable.class));
  14. verify(subscriber2, times(1)).onComplete();
  15. }

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

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

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

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

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

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

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

  1. @Test
  2. public void testBackpressureMultipleSmallAsyncRequests() throws InterruptedException {
  3. final AtomicLong requests = new AtomicLong(0);
  4. TestSubscriber<Long> ts = new TestSubscriber<Long>(0L);
  5. Flowable.interval(100, TimeUnit.MILLISECONDS)
  6. .doOnRequest(new LongConsumer() {
  7. @Override
  8. public void accept(long n) {
  9. requests.addAndGet(n);
  10. }
  11. }).skip(4).subscribe(ts);
  12. Thread.sleep(100);
  13. ts.request(1);
  14. ts.request(1);
  15. Thread.sleep(100);
  16. ts.dispose();
  17. // FIXME not assertable anymore
  18. // ts.assertUnsubscribed();
  19. ts.assertNoErrors();
  20. assertEquals(6, requests.get());
  21. }

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

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

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

  1. @Test
  2. public void fromArityArgs3() {
  3. Flowable<String> items = Flowable.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 fromArray() {
  3. String[] items = new String[] { "one", "two", "three" };
  4. assertEquals((Long)3L, Flowable.fromArray(items).count().blockingGet());
  5. assertEquals("two", Flowable.fromArray(items).skip(1).take(1).blockingSingle());
  6. assertEquals("three", Flowable.fromArray(items).takeLast(1).blockingSingle());
  7. }

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

  1. @Test
  2. public void shouldNotCompleteIfThereArePendingScalarSynchronousEmissionsWhenTheLastInnerSubscriberCompletes() {
  3. TestScheduler scheduler = new TestScheduler();
  4. Flowable<Long> source = Flowable.mergeDelayError(Flowable.just(1L), Flowable.timer(1, TimeUnit.SECONDS, scheduler).skip(1));
  5. TestSubscriber<Long> subscriber = new TestSubscriber<Long>(0L);
  6. source.subscribe(subscriber);
  7. scheduler.advanceTimeBy(1, TimeUnit.SECONDS);
  8. subscriber.assertNoValues();
  9. subscriber.assertNotComplete();
  10. subscriber.request(1);
  11. subscriber.assertValue(1L);
  12. // TODO: it should be acceptable to get a completion event without requests
  13. // assertEquals(Collections.<Notification<Long>>emptyList(), subscriber.getOnCompletedEvents());
  14. // subscriber.request(1);
  15. subscriber.assertTerminated();
  16. }

相关文章

Flowable类方法