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

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

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

Observable.firstElement介绍

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

Scheduler: firstElement does not operate by default on a particular Scheduler.
[中]返回一个Maybe,该Maybe只发出源ObservableSource发出的第一个项,如果源ObservableSource为空,则返回complete。
Scheduler:firstElement默认情况下不会在特定的计划程序上运行。

代码示例

代码示例来源:origin: trello/RxLifecycle

  1. @Override
  2. public MaybeSource<T> apply(Maybe<T> upstream) {
  3. return upstream.takeUntil(observable.firstElement());
  4. }

代码示例来源:origin: alibaba/Tangram-Android

  1. @Override
  2. public MaybeSource<T> apply(Maybe<T> upstream) {
  3. return upstream.takeUntil(mObservable.firstElement());
  4. }

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

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

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

  1. @Test
  2. public void testFirst() {
  3. Maybe<Integer> o = Observable.just(1, 2, 3).firstElement();
  4. o.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 testFirstOfNone() {
  3. Observable<Integer> o = Observable.empty();
  4. o.firstElement().subscribe(wm);
  5. verify(wm, never()).onSuccess(anyInt());
  6. verify(wm).onComplete();
  7. verify(wm, never()).onError(any(Throwable.class));
  8. }

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

  1. @Test
  2. public void testFirstWithOneElement() {
  3. Maybe<Integer> o = Observable.just(1).firstElement();
  4. o.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 testFirstWithOneElementObservable() {
  3. Observable<Integer> o = Observable.just(1).firstElement().toObservable();
  4. Observer<Integer> observer = TestHelper.mockObserver();
  5. o.subscribe(observer);
  6. InOrder inOrder = inOrder(observer);
  7. inOrder.verify(observer, times(1)).onNext(1);
  8. inOrder.verify(observer, times(1)).onComplete();
  9. inOrder.verifyNoMoreInteractions();
  10. }

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

  1. @Test
  2. public void testFirstObservable() {
  3. Observable<Integer> o = Observable.just(1, 2, 3).firstElement().toObservable();
  4. Observer<Integer> observer = TestHelper.mockObserver();
  5. o.subscribe(observer);
  6. InOrder inOrder = inOrder(observer);
  7. inOrder.verify(observer, times(1)).onNext(1);
  8. inOrder.verify(observer, times(1)).onComplete();
  9. inOrder.verifyNoMoreInteractions();
  10. }

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

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

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

  1. @Test
  2. public void testFirstWithEmptyObservable() {
  3. Observable<Integer> o = Observable.<Integer> empty().firstElement().toObservable();
  4. Observer<Integer> observer = TestHelper.mockObserver();
  5. o.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 testFirstWithPredicateAndEmpty() {
  3. Maybe<Integer> o = Observable.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. o.subscribe(wm);
  12. InOrder inOrder = inOrder(wm);
  13. inOrder.verify(wm, times(1)).onComplete();
  14. inOrder.verify(wm, never()).onError(any(Throwable.class));
  15. inOrder.verifyNoMoreInteractions();
  16. }

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

  1. @Test
  2. public void testFirstWithPredicateAndOneElement() {
  3. Maybe<Integer> o = Observable.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. o.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 testFirstWithPredicate() {
  3. Maybe<Integer> o = Observable.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. o.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 testFirstWithPredicateAndEmptyObservable() {
  3. Observable<Integer> o = Observable.just(1)
  4. .filter(new Predicate<Integer>() {
  5. @Override
  6. public boolean test(Integer t1) {
  7. return t1 % 2 == 0;
  8. }
  9. })
  10. .firstElement().toObservable();
  11. Observer<Integer> observer = TestHelper.mockObserver();
  12. o.subscribe(observer);
  13. InOrder inOrder = inOrder(observer);
  14. inOrder.verify(observer).onComplete();
  15. inOrder.verify(observer, never()).onError(any(Throwable.class));
  16. inOrder.verifyNoMoreInteractions();
  17. }

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

  1. @Test
  2. public void testFirstWithPredicateObservable() {
  3. Observable<Integer> o = Observable.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().toObservable();
  11. Observer<Integer> observer = TestHelper.mockObserver();
  12. o.subscribe(observer);
  13. InOrder inOrder = inOrder(observer);
  14. inOrder.verify(observer, times(1)).onNext(2);
  15. inOrder.verify(observer, times(1)).onComplete();
  16. inOrder.verifyNoMoreInteractions();
  17. }

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

  1. @Test
  2. public void testFirstWithPredicateAndOneElementObservable() {
  3. Observable<Integer> o = Observable.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().toObservable();
  11. Observer<Integer> observer = TestHelper.mockObserver();
  12. o.subscribe(observer);
  13. InOrder inOrder = inOrder(observer);
  14. inOrder.verify(observer, times(1)).onNext(2);
  15. inOrder.verify(observer, times(1)).onComplete();
  16. inOrder.verifyNoMoreInteractions();
  17. }

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

  1. @SuppressWarnings("unchecked")
  2. @Test
  3. public void noSubsequentSubscriptionIterable() {
  4. final int[] calls = { 0 };
  5. Observable<Integer> source = Observable.create(new ObservableOnSubscribe<Integer>() {
  6. @Override
  7. public void subscribe(ObservableEmitter<Integer> s) throws Exception {
  8. calls[0]++;
  9. s.onNext(1);
  10. s.onComplete();
  11. }
  12. });
  13. Observable.concat(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 noSubsequentSubscriptionDelayErrorIterable() {
  4. final int[] calls = { 0 };
  5. Observable<Integer> source = Observable.create(new ObservableOnSubscribe<Integer>() {
  6. @Override
  7. public void subscribe(ObservableEmitter<Integer> s) throws Exception {
  8. calls[0]++;
  9. s.onNext(1);
  10. s.onComplete();
  11. }
  12. });
  13. Observable.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 noSubsequentSubscription() {
  4. final int[] calls = { 0 };
  5. Observable<Integer> source = Observable.create(new ObservableOnSubscribe<Integer>() {
  6. @Override
  7. public void subscribe(ObservableEmitter<Integer> s) throws Exception {
  8. calls[0]++;
  9. s.onNext(1);
  10. s.onComplete();
  11. }
  12. });
  13. Observable.concatArray(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. Observable<Integer> source = Observable.create(new ObservableOnSubscribe<Integer>() {
  6. @Override
  7. public void subscribe(ObservableEmitter<Integer> s) throws Exception {
  8. calls[0]++;
  9. s.onNext(1);
  10. s.onComplete();
  11. }
  12. });
  13. Observable.concatArrayDelayError(source, source).firstElement()
  14. .test()
  15. .assertResult(1);
  16. assertEquals(1, calls[0]);
  17. }

相关文章

Observable类方法