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

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

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

Flowable.singleElement介绍

[英]Returns a Maybe that completes if this Flowable is empty, signals one item if this Flowable signals exactly one item or signals an IllegalArgumentException if this Flowable signals more than one item.

Backpressure: The operator honors backpressure from downstream and consumes the source Publisher in an unbounded manner (i.e., without applying backpressure). Scheduler: singleElement does not operate by default on a particular Scheduler.
[中]如果此可流文件为空,则返回一个可能已完成的消息;如果此可流文件正好表示一个项目,则表示一个项目;如果此可流文件表示多个项目,则表示IllegalArgumentException。
背压:操作员接受来自下游的背压,并以无限制的方式(即不施加背压)消耗源发布服务器。调度程序:singleElement默认情况下不会在特定调度程序上运行。

代码示例

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

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

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

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

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

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

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

  1. /**
  2. * Retries at most times or until the predicate returns false, whichever happens first.
  3. *
  4. * <dl>
  5. * <dt><b>Scheduler:</b></dt>
  6. * <dd>{@code retry} does not operate by default on a particular {@link Scheduler}.</dd>
  7. * </dl>
  8. * @param times the number of times to repeat
  9. * @param predicate the predicate called with the failure Throwable and should return true to trigger a retry.
  10. * @return the new Maybe instance
  11. */
  12. @CheckReturnValue
  13. @SchedulerSupport(SchedulerSupport.NONE)
  14. public final Maybe<T> retry(long times, Predicate<? super Throwable> predicate) {
  15. return toFlowable().retry(times, predicate).singleElement();
  16. }

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

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

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

  1. @Test
  2. public void testSingleWithEmpty() {
  3. Maybe<Integer> maybe = Flowable.<Integer> empty().singleElement();
  4. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  5. maybe.subscribe(observer);
  6. InOrder inOrder = inOrder(observer);
  7. inOrder.verify(observer).onComplete();
  8. inOrder.verify(observer, never()).onError(any(Throwable.class));
  9. inOrder.verifyNoMoreInteractions();
  10. }

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

  1. @Test
  2. public void testSingleWithEmptyFlowable() {
  3. Flowable<Integer> flowable = Flowable.<Integer> empty().singleElement().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 testSingle() {
  3. Maybe<Integer> maybe = Flowable.just(1).singleElement();
  4. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  5. maybe.subscribe(observer);
  6. InOrder inOrder = inOrder(observer);
  7. inOrder.verify(observer, times(1)).onSuccess(1);
  8. inOrder.verifyNoMoreInteractions();
  9. }

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

  1. @Test
  2. public void testSingleFlowable() {
  3. Flowable<Integer> flowable = Flowable.just(1).singleElement().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 testSingleWithTooManyElements() {
  3. Maybe<Integer> maybe = Flowable.just(1, 2).singleElement();
  4. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  5. maybe.subscribe(observer);
  6. InOrder inOrder = inOrder(observer);
  7. inOrder.verify(observer, times(1)).onError(
  8. isA(IllegalArgumentException.class));
  9. inOrder.verifyNoMoreInteractions();
  10. }

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

  1. @Test
  2. public void testSingleWithTooManyElementsFlowable() {
  3. Flowable<Integer> flowable = Flowable.just(1, 2).singleElement().toFlowable();
  4. Subscriber<Integer> subscriber = TestHelper.mockSubscriber();
  5. flowable.subscribe(subscriber);
  6. InOrder inOrder = inOrder(subscriber);
  7. inOrder.verify(subscriber, times(1)).onError(
  8. isA(IllegalArgumentException.class));
  9. inOrder.verifyNoMoreInteractions();
  10. }

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

  1. @Test
  2. public void fromFlowableJust() {
  3. Flowable.just(1)
  4. .singleElement()
  5. .test()
  6. .assertResult(1);
  7. }

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

  1. @Test
  2. public void fromFlowableEmpty() {
  3. Flowable.empty()
  4. .singleElement()
  5. .test()
  6. .assertResult();
  7. }

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

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

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

  1. @Test
  2. public void fromFlowableMany() {
  3. Flowable.range(1, 2)
  4. .singleElement()
  5. .test()
  6. .assertFailure(IllegalArgumentException.class);
  7. }

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

  1. @Test
  2. public void testSingleWithPredicateAndTooManyElements() {
  3. Maybe<Integer> maybe = Flowable.just(1, 2, 3, 4)
  4. .filter(
  5. new Predicate<Integer>() {
  6. @Override
  7. public boolean test(Integer t1) {
  8. return t1 % 2 == 0;
  9. }
  10. })
  11. .singleElement();
  12. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  13. maybe.subscribe(observer);
  14. InOrder inOrder = inOrder(observer);
  15. inOrder.verify(observer, times(1)).onError(
  16. isA(IllegalArgumentException.class));
  17. inOrder.verifyNoMoreInteractions();
  18. }

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

  1. @Test
  2. public void fromFlowableError() {
  3. Flowable.error(new TestException())
  4. .singleElement()
  5. .test()
  6. .assertFailure(TestException.class);
  7. }

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

  1. @Test
  2. public void flowableMaybeFlowable() {
  3. Flowable.just(1).singleElement().toFlowable().test().assertResult(1);
  4. }

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

  1. @Test
  2. public void fromObservableValueAndError() {
  3. Flowable.just(1).concatWith(Flowable.<Integer>error(new TestException()))
  4. .singleElement()
  5. .test()
  6. .assertFailure(TestException.class);
  7. }

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

  1. @Test
  2. public void fromFlowableValueAndError() {
  3. Flowable.just(1).concatWith(Flowable.<Integer>error(new TestException()))
  4. .singleElement()
  5. .test()
  6. .assertFailure(TestException.class);
  7. }

相关文章

Flowable类方法