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

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

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

Observable.lastElement介绍

[英]Returns a Maybe that emits the last item emitted by this Observable or completes if this Observable is empty.

Scheduler: lastElement does not operate by default on a particular Scheduler.
[中]返回一个Maybe,该Maybe发出此可观察对象发出的最后一项,如果此可观察对象为空,则返回complete。
调度器:默认情况下,lastElement不会在特定的调度器上运行。

代码示例

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

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

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

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

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

  1. @Test
  2. public void testLastViaObservable() {
  3. Observable.just(1, 2, 3).lastElement();
  4. }

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

  1. @Test
  2. public void testLastWithElements() {
  3. Maybe<Integer> last = Observable.just(1, 2, 3).lastElement();
  4. assertEquals(3, last.blockingGet().intValue());
  5. }

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

  1. @Test
  2. public void testLast() {
  3. Maybe<Integer> o = Observable.just(1, 2, 3).lastElement();
  4. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  5. o.subscribe(observer);
  6. InOrder inOrder = inOrder(observer);
  7. inOrder.verify(observer, times(1)).onSuccess(3);
  8. // inOrder.verify(observer, times(1)).onComplete();
  9. inOrder.verifyNoMoreInteractions();
  10. }

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

  1. @Test
  2. public void testLastWithOneElement() {
  3. Maybe<Integer> o = Observable.just(1).lastElement();
  4. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  5. o.subscribe(observer);
  6. InOrder inOrder = inOrder(observer);
  7. inOrder.verify(observer, times(1)).onSuccess(1);
  8. // inOrder.verify(observer, times(1)).onComplete();
  9. inOrder.verifyNoMoreInteractions();
  10. }

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

  1. @Test
  2. public void testLastMultiSubscribe() {
  3. Maybe<Integer> last = Observable.just(1, 2, 3).lastElement();
  4. assertEquals(3, last.blockingGet().intValue());
  5. assertEquals(3, last.blockingGet().intValue());
  6. }

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

  1. @Test
  2. public void testLastWithEmpty() {
  3. Maybe<Integer> o = Observable.<Integer> empty().lastElement();
  4. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  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 testLastWithPredicateAndEmpty() {
  3. Maybe<Integer> o = Observable.just(1)
  4. .filter(
  5. new Predicate<Integer>() {
  6. @Override
  7. public boolean test(Integer t1) {
  8. return t1 % 2 == 0;
  9. }
  10. }).lastElement();
  11. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  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 testLastWithPredicate() {
  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. .lastElement();
  11. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  12. o.subscribe(observer);
  13. InOrder inOrder = inOrder(observer);
  14. inOrder.verify(observer, times(1)).onSuccess(6);
  15. // inOrder.verify(observer, times(1)).onComplete();
  16. inOrder.verifyNoMoreInteractions();
  17. }

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

  1. @Test
  2. public void testLastWithPredicateAndOneElement() {
  3. Maybe<Integer> o = Observable.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. .lastElement();
  12. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  13. o.subscribe(observer);
  14. InOrder inOrder = inOrder(observer);
  15. inOrder.verify(observer, times(1)).onSuccess(2);
  16. // inOrder.verify(observer, times(1)).onComplete();
  17. inOrder.verifyNoMoreInteractions();
  18. }

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

  1. @Test
  2. public void testLastWithNoElements() {
  3. Maybe<?> last = Observable.empty().lastElement();
  4. assertNull(last.blockingGet());
  5. }

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

  1. /**
  2. * We expect an ArithmeticException exception here because last() emits a single value
  3. * but then we divide by 0.
  4. */
  5. @Test(expected = ArithmeticException.class)
  6. public void testMapWithErrorInFunc() {
  7. Observable.range(1, 1).lastElement().map(new Function<Integer, Integer>() {
  8. @Override
  9. public Integer apply(Integer i) {
  10. return i / 0;
  11. }
  12. }).blockingGet();
  13. }

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

  1. @Test
  2. public void dispose() {
  3. TestHelper.checkDisposed(Observable.never().lastElement().toObservable());
  4. TestHelper.checkDisposed(Observable.never().lastElement());
  5. TestHelper.checkDisposed(Observable.just(1).lastOrError().toObservable());
  6. TestHelper.checkDisposed(Observable.just(1).lastOrError());
  7. TestHelper.checkDisposed(Observable.just(1).last(2).toObservable());
  8. TestHelper.checkDisposed(Observable.just(1).last(2));
  9. }

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

  1. /**
  2. * While mapping over range(1,0).last() we expect NoSuchElementException since the sequence is empty.
  3. */
  4. @Test
  5. public void testErrorPassesThruMap() {
  6. assertNull(Observable.range(1, 0).lastElement().map(new Function<Integer, Integer>() {
  7. @Override
  8. public Integer apply(Integer i) {
  9. return i;
  10. }
  11. }).blockingGet());
  12. }

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

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

代码示例来源:origin: radixdlt/radixdlt-java

  1. public io.reactivex.Maybe<Collection<Consumable>> getUnconsumedConsumables() {
  2. return newValidTransactions.lastElement().map(lastTx -> unconsumedConsumables.values());
  3. }
  4. }

代码示例来源:origin: florent37/RxGps

  1. public Maybe<Location> lastLocation() {
  2. return checkPlayServicesAvailable()
  3. .flatMap(new Function<Boolean, ObservableSource<Boolean>>() {
  4. @Override
  5. public ObservableSource<Boolean> apply(@NonNull Boolean aBoolean) throws Exception {
  6. return request(Manifest.permission.ACCESS_COARSE_LOCATION);
  7. }
  8. })
  9. .flatMapMaybe(new Function<Boolean, MaybeSource<Location>>() {
  10. @Override
  11. public MaybeSource<Location> apply(@NonNull Boolean aBoolean) throws Exception {
  12. return rxLocation.location().lastLocation();
  13. }
  14. })
  15. .lastElement();
  16. }

代码示例来源:origin: florent37/RxGps

  1. public Maybe<Location> lastLocationIfExists() {
  2. return checkPlayServicesAvailable()
  3. .flatMap(new Function<Boolean, ObservableSource<Boolean>>() {
  4. @Override
  5. public ObservableSource<Boolean> apply(@android.support.annotation.NonNull Boolean aBoolean) throws Exception {
  6. return request(Manifest.permission.ACCESS_COARSE_LOCATION);
  7. }
  8. })
  9. .flatMapSingle(new Function<Boolean, SingleSource<Boolean>>() {
  10. @Override
  11. public SingleSource<Boolean> apply(Boolean aBoolean) throws Exception {
  12. return rxLocation.location().isLocationAvailable();
  13. }
  14. })
  15. .flatMapMaybe(new Function<Boolean, MaybeSource<Location>>() {
  16. @Override
  17. public MaybeSource<Location> apply(@android.support.annotation.NonNull Boolean isExists) throws Exception {
  18. if (isExists) {
  19. return rxLocation.location().lastLocation();
  20. } else {
  21. throw new RxGps.LastLocationUnavailableException();
  22. }
  23. }
  24. })
  25. .lastElement();
  26. }

相关文章

Observable类方法