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

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

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

Observable.amb介绍

[英]Mirrors the one ObservableSource in an Iterable of several ObservableSources that first either emits an item or sends a termination notification.

Scheduler: amb does not operate by default on a particular Scheduler.
[中]镜像多个可观察资源中的一个可观察资源,这些可观察资源首先发出一个项目或发送终止通知。
调度器:默认情况下,amb不会在特定的调度器上运行。

代码示例

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

  1. @Test(expected = NullPointerException.class)
  2. public void ambIterableNull() {
  3. Observable.amb((Iterable<Observable<Object>>)null);
  4. }

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

  1. @Test
  2. public void manySources() {
  3. Observable<?>[] a = new Observable[32];
  4. Arrays.fill(a, Observable.never());
  5. a[31] = Observable.just(1);
  6. Observable.amb(Arrays.asList(a))
  7. .test()
  8. .assertResult(1);
  9. }

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

  1. @Test
  2. public void singleIterable() {
  3. Observable.amb(Collections.singletonList(Observable.just(1)))
  4. .test()
  5. .assertResult(1);
  6. }

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

  1. @SuppressWarnings("unchecked")
  2. @Test
  3. public void ambIterableOrder() {
  4. Observable<Integer> error = Observable.error(new RuntimeException());
  5. Observable.amb(Arrays.asList(Observable.just(1), error)).test().assertValue(1).assertComplete();
  6. }

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

  1. @Test
  2. public void emptyIterable() {
  3. Observable.amb(Collections.<Observable<Integer>>emptyList())
  4. .test()
  5. .assertResult();
  6. }

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

  1. @Test
  2. public void ambIterableIteratorNull() {
  3. Observable.amb(new Iterable<Observable<Object>>() {
  4. @Override
  5. public Iterator<Observable<Object>> iterator() {
  6. return null;
  7. }
  8. }).test().assertError(NullPointerException.class);
  9. }

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

  1. @SuppressWarnings("unchecked")
  2. @Test
  3. public void ambIterableOneIsNull() {
  4. Observable.amb(Arrays.asList(Observable.never(), null))
  5. .test()
  6. .assertError(NullPointerException.class);
  7. }

代码示例来源:origin: Polidea/RxAndroidBle

  1. /**
  2. * A convenience function creating a transformer that will use two observables for completing the returned observable (and
  3. * un-subscribing from the passed observable) beforeEmission will be used to complete the passed observable before it's first
  4. * emission and afterEmission will be used to do the same after the first emission
  5. *
  6. * @param beforeEmission the observable that will control completing the returned observable before it's first emission
  7. * @param afterEmission the observable that will control completing the returned observable after it's first emission
  8. * @param <T> the type of the passed observable
  9. * @return the observable
  10. */
  11. @NonNull
  12. private static <T> ObservableTransformer<T, T> takeUntil(Observable<?> beforeEmission, Observable<?> afterEmission) {
  13. return observable -> observable.publish(publishedObservable -> {
  14. final Observable<?> afterEmissionTakeUntil = publishedObservable
  15. .take(1)
  16. .ignoreElements()
  17. .andThen(afterEmission);
  18. return Observable.amb(
  19. asList(
  20. publishedObservable,
  21. publishedObservable.takeUntil(beforeEmission)
  22. ))
  23. .takeUntil(afterEmissionTakeUntil);
  24. }
  25. );
  26. }

代码示例来源:origin: Polidea/RxAndroidBle

  1. return Observable.amb(asList(
  2. enableNotifyClicksObservable,
  3. enableIndicateClicksObservable)

相关文章

Observable类方法