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

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

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

Flowable.firstElement介绍

[英]Returns a Maybe that emits only the very first item emitted by this Flowable or completes if this Flowable is empty.

Backpressure: The operator honors backpressure from downstream and consumes the source Publisher in an unbounded manner (i.e., without applying backpressure). Scheduler: firstElement does not operate by default on a particular Scheduler.
[中]返回一个值,该值仅发出此可流动项发出的第一个项,或者如果此可流动项为空,则返回完成。
背压:操作员接受来自下游的背压,并以无限制的方式(即不施加背压)消耗源发布服务器。Scheduler:firstElement默认情况下不会在特定的计划程序上运行。

代码示例

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

  1. @Override
  2. public Publisher<Integer> createPublisher(final long elements) {
  3. return
  4. Flowable.range(1, 10).firstElement().toFlowable()
  5. ;
  6. }

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

  1. @Test
  2. public void testFirstOfNoneFlowable() {
  3. Flowable<Integer> flowable = Flowable.empty();
  4. flowable.firstElement().toFlowable().subscribe(w);
  5. verify(w, never()).onNext(anyInt());
  6. verify(w).onComplete();
  7. verify(w, never()).onError(any(Throwable.class));
  8. }

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

  1. @Test
  2. public void testFirstWithEmpty() {
  3. Maybe<Integer> maybe = Flowable.<Integer> empty().firstElement();
  4. maybe.subscribe(wm);
  5. InOrder inOrder = inOrder(wm);
  6. inOrder.verify(wm).onComplete();
  7. inOrder.verify(wm, never()).onError(any(Throwable.class));
  8. inOrder.verifyNoMoreInteractions();
  9. }

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

  1. @Test
  2. public void testFirstOfNone() {
  3. Flowable<Integer> flowable = Flowable.empty();
  4. flowable.firstElement().subscribe(wm);
  5. verify(wm, never()).onSuccess(anyInt());
  6. verify(wm).onComplete();
  7. verify(wm, never()).onError(isA(NoSuchElementException.class));
  8. }

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

  1. @Test
  2. public void testFirst() {
  3. Maybe<Integer> maybe = Flowable.just(1, 2, 3).firstElement();
  4. maybe.subscribe(wm);
  5. InOrder inOrder = inOrder(wm);
  6. inOrder.verify(wm, times(1)).onSuccess(1);
  7. inOrder.verifyNoMoreInteractions();
  8. }

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

  1. @Test
  2. public void testFirstWithPredicateOfNoneMatchingThePredicate() {
  3. Flowable<Integer> flowable = Flowable.just(1, 3, 5, 7, 9, 7, 5, 3, 1);
  4. flowable.filter(IS_EVEN).firstElement().subscribe(wm);
  5. verify(wm, never()).onSuccess(anyInt());
  6. verify(wm, times(1)).onComplete();
  7. verify(wm, never()).onError(isA(NoSuchElementException.class));
  8. }

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

  1. @Test
  2. public void testFirstWithOneElement() {
  3. Maybe<Integer> maybe = Flowable.just(1).firstElement();
  4. maybe.subscribe(wm);
  5. InOrder inOrder = inOrder(wm);
  6. inOrder.verify(wm, times(1)).onSuccess(1);
  7. inOrder.verifyNoMoreInteractions();
  8. }

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

  1. @Test
  2. public void testFirstWithPredicateOfNoneMatchingThePredicateFlowable() {
  3. Flowable<Integer> flowable = Flowable.just(1, 3, 5, 7, 9, 7, 5, 3, 1);
  4. flowable.filter(IS_EVEN).firstElement().toFlowable().subscribe(w);
  5. verify(w, never()).onNext(anyInt());
  6. verify(w).onComplete();
  7. verify(w, never()).onError(any(Throwable.class));
  8. }

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

  1. @Test
  2. public void testFirstWithOneElementFlowable() {
  3. Flowable<Integer> flowable = Flowable.just(1).firstElement().toFlowable();
  4. Subscriber<Integer> subscriber = TestHelper.mockSubscriber();
  5. flowable.subscribe(subscriber);
  6. InOrder inOrder = inOrder(subscriber);
  7. inOrder.verify(subscriber, times(1)).onNext(1);
  8. inOrder.verify(subscriber, times(1)).onComplete();
  9. inOrder.verifyNoMoreInteractions();
  10. }

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

  1. @Test
  2. public void testFirstWithEmptyFlowable() {
  3. Flowable<Integer> flowable = Flowable.<Integer> empty().firstElement().toFlowable();
  4. Subscriber<Integer> subscriber = TestHelper.mockSubscriber();
  5. flowable.subscribe(subscriber);
  6. InOrder inOrder = inOrder(subscriber);
  7. inOrder.verify(subscriber).onComplete();
  8. inOrder.verify(subscriber, never()).onError(any(Throwable.class));
  9. inOrder.verifyNoMoreInteractions();
  10. }

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

  1. @Test
  2. public void testFirstFlowable() {
  3. Flowable<Integer> flowable = Flowable.just(1, 2, 3).firstElement().toFlowable();
  4. Subscriber<Integer> subscriber = TestHelper.mockSubscriber();
  5. flowable.subscribe(subscriber);
  6. InOrder inOrder = inOrder(subscriber);
  7. inOrder.verify(subscriber, times(1)).onNext(1);
  8. inOrder.verify(subscriber, times(1)).onComplete();
  9. inOrder.verifyNoMoreInteractions();
  10. }

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

  1. @Test
  2. public void testFirstWithPredicateAndEmpty() {
  3. Maybe<Integer> maybe = Flowable.just(1)
  4. .filter(new Predicate<Integer>() {
  5. @Override
  6. public boolean test(Integer t1) {
  7. return t1 % 2 == 0;
  8. }
  9. })
  10. .firstElement();
  11. maybe.subscribe(wm);
  12. InOrder inOrder = inOrder(wm);
  13. inOrder.verify(wm).onComplete();
  14. inOrder.verify(wm, never()).onError(any(Throwable.class));
  15. inOrder.verifyNoMoreInteractions();
  16. }

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

  1. @Test
  2. public void testFirstWithPredicate() {
  3. Maybe<Integer> maybe = Flowable.just(1, 2, 3, 4, 5, 6)
  4. .filter(new Predicate<Integer>() {
  5. @Override
  6. public boolean test(Integer t1) {
  7. return t1 % 2 == 0;
  8. }
  9. })
  10. .firstElement();
  11. maybe.subscribe(wm);
  12. InOrder inOrder = inOrder(wm);
  13. inOrder.verify(wm, times(1)).onSuccess(2);
  14. inOrder.verifyNoMoreInteractions();
  15. }

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

  1. @Test
  2. public void testFirstWithPredicateAndOneElement() {
  3. Maybe<Integer> maybe = Flowable.just(1, 2)
  4. .filter(new Predicate<Integer>() {
  5. @Override
  6. public boolean test(Integer t1) {
  7. return t1 % 2 == 0;
  8. }
  9. })
  10. .firstElement();
  11. maybe.subscribe(wm);
  12. InOrder inOrder = inOrder(wm);
  13. inOrder.verify(wm, times(1)).onSuccess(2);
  14. inOrder.verifyNoMoreInteractions();
  15. }

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

  1. @Test
  2. public void testFirstWithPredicateAndOneElementFlowable() {
  3. Flowable<Integer> flowable = Flowable.just(1, 2)
  4. .filter(new Predicate<Integer>() {
  5. @Override
  6. public boolean test(Integer t1) {
  7. return t1 % 2 == 0;
  8. }
  9. })
  10. .firstElement().toFlowable();
  11. Subscriber<Integer> subscriber = TestHelper.mockSubscriber();
  12. flowable.subscribe(subscriber);
  13. InOrder inOrder = inOrder(subscriber);
  14. inOrder.verify(subscriber, times(1)).onNext(2);
  15. inOrder.verify(subscriber, times(1)).onComplete();
  16. inOrder.verifyNoMoreInteractions();
  17. }

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

  1. @Test
  2. public void testFirstWithPredicateAndEmptyFlowable() {
  3. Flowable<Integer> flowable = Flowable.just(1)
  4. .filter(new Predicate<Integer>() {
  5. @Override
  6. public boolean test(Integer t1) {
  7. return t1 % 2 == 0;
  8. }
  9. })
  10. .firstElement().toFlowable();
  11. Subscriber<Integer> subscriber = TestHelper.mockSubscriber();
  12. flowable.subscribe(subscriber);
  13. InOrder inOrder = inOrder(subscriber);
  14. inOrder.verify(subscriber).onComplete();
  15. inOrder.verify(subscriber, never()).onError(any(Throwable.class));
  16. inOrder.verifyNoMoreInteractions();
  17. }

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

  1. @SuppressWarnings("unchecked")
  2. @Test
  3. public void noSubsequentSubscription() {
  4. final int[] calls = { 0 };
  5. Maybe<Integer> source = Maybe.create(new MaybeOnSubscribe<Integer>() {
  6. @Override
  7. public void subscribe(MaybeEmitter<Integer> s) throws Exception {
  8. calls[0]++;
  9. s.onSuccess(1);
  10. }
  11. });
  12. Maybe.concat(Arrays.asList(source, source)).firstElement()
  13. .test()
  14. .assertResult(1);
  15. assertEquals(1, calls[0]);
  16. }

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

  1. @SuppressWarnings("unchecked")
  2. @Test
  3. public void noSubsequentSubscriptionDelayErrorIterable() {
  4. final int[] calls = { 0 };
  5. Flowable<Integer> source = Flowable.create(new FlowableOnSubscribe<Integer>() {
  6. @Override
  7. public void subscribe(FlowableEmitter<Integer> s) throws Exception {
  8. calls[0]++;
  9. s.onNext(1);
  10. s.onComplete();
  11. }
  12. }, BackpressureStrategy.MISSING);
  13. Flowable.concatDelayError(Arrays.asList(source, source)).firstElement()
  14. .test()
  15. .assertResult(1);
  16. assertEquals(1, calls[0]);
  17. }

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

  1. @SuppressWarnings("unchecked")
  2. @Test
  3. public void noSubsequentSubscriptionDelayError() {
  4. final int[] calls = { 0 };
  5. Maybe<Integer> source = Maybe.create(new MaybeOnSubscribe<Integer>() {
  6. @Override
  7. public void subscribe(MaybeEmitter<Integer> s) throws Exception {
  8. calls[0]++;
  9. s.onSuccess(1);
  10. }
  11. });
  12. Maybe.concatArrayDelayError(source, source).firstElement()
  13. .test()
  14. .assertResult(1);
  15. assertEquals(1, calls[0]);
  16. }
  17. }

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

  1. @SuppressWarnings("unchecked")
  2. @Test
  3. public void noSubsequentSubscription() {
  4. final int[] calls = { 0 };
  5. Single<Integer> source = Single.create(new SingleOnSubscribe<Integer>() {
  6. @Override
  7. public void subscribe(SingleEmitter<Integer> s) throws Exception {
  8. calls[0]++;
  9. s.onSuccess(1);
  10. }
  11. });
  12. Single.concatArray(source, source).firstElement()
  13. .test()
  14. .assertResult(1);
  15. assertEquals(1, calls[0]);
  16. }

相关文章

Flowable类方法