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

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

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

Observable.concatMapCompletable介绍

[英]Maps each element of the upstream Observable into CompletableSources, subscribes to them one at a time in order and waits until the upstream and all CompletableSources complete.

Scheduler: concatMapCompletable does not operate by default on a particular Scheduler.
[中]将上游可观测的每个元素映射到CompletableSources中,按顺序一次订阅一个元素,并等待上游和所有CompletableSources完成。
调度程序:默认情况下,concatMapCompletable不会在特定调度程序上运行。

代码示例

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

  1. /**
  2. * Maps each element of the upstream Observable into CompletableSources, subscribes to them one at a time in
  3. * order and waits until the upstream and all CompletableSources complete.
  4. * <p>
  5. * <img width="640" height="505" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapCompletable.o.png" alt="">
  6. * <dl>
  7. * <dt><b>Scheduler:</b></dt>
  8. * <dd>{@code concatMapCompletable} does not operate by default on a particular {@link Scheduler}.</dd>
  9. * </dl>
  10. * <p>History: 2.1.6 - experimental
  11. * @param mapper
  12. * a function that, when applied to an item emitted by the source ObservableSource, returns a CompletableSource
  13. * @return a Completable that signals {@code onComplete} when the upstream and all CompletableSources complete
  14. * @since 2.2
  15. */
  16. @CheckReturnValue
  17. @SchedulerSupport(SchedulerSupport.NONE)
  18. public final Completable concatMapCompletable(Function<? super T, ? extends CompletableSource> mapper) {
  19. return concatMapCompletable(mapper, 2);
  20. }

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

  1. @Override
  2. public Completable apply(Observable<Object> f)
  3. throws Exception {
  4. return f.concatMapCompletable(
  5. Functions.justFunction(Completable.complete()));
  6. }
  7. }

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

  1. @Test
  2. public void mapperCrash() {
  3. Observable.just(1)
  4. .concatMapCompletable(new Function<Integer, CompletableSource>() {
  5. @Override
  6. public CompletableSource apply(Integer v) throws Exception {
  7. throw new TestException();
  8. }
  9. })
  10. .test()
  11. .assertFailure(TestException.class);
  12. }

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

  1. @Test
  2. public void fusedPollThrows() {
  3. Observable.just(1)
  4. .map(new Function<Integer, Integer>() {
  5. @Override
  6. public Integer apply(Integer v) throws Exception {
  7. throw new TestException();
  8. }
  9. })
  10. .concatMapCompletable(completableComplete())
  11. .test()
  12. .assertFailure(TestException.class);
  13. }

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

  1. @Test
  2. public void dispose() {
  3. TestHelper.checkDisposed(Observable.<Integer>just(1).hide()
  4. .concatMapCompletable(completableError()));
  5. }

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

  1. @Test
  2. public void mapperCrashHidden() {
  3. Observable.just(1).hide()
  4. .concatMapCompletable(new Function<Integer, CompletableSource>() {
  5. @Override
  6. public CompletableSource apply(Integer v) throws Exception {
  7. throw new TestException();
  8. }
  9. })
  10. .test()
  11. .assertFailure(TestException.class);
  12. }

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

  1. @Test
  2. public void innerError() {
  3. Observable.<Integer>just(1).hide()
  4. .concatMapCompletable(completableError())
  5. .test()
  6. .assertFailure(TestException.class);
  7. }

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

  1. @Test
  2. public void mapperThrows() {
  3. Observable.just(1).hide()
  4. .concatMapCompletable(completableThrows())
  5. .test()
  6. .assertFailure(TestException.class);
  7. }

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

  1. @Test
  2. public void innerError() {
  3. Observable.just(1)
  4. .concatMapCompletable(Functions.justFunction(Completable.error(new TestException())))
  5. .test()
  6. .assertFailure(TestException.class);
  7. }

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

  1. @Test
  2. public void simple2() {
  3. final AtomicInteger counter = new AtomicInteger();
  4. Observable.range(1, 5)
  5. .concatMapCompletable(Functions.justFunction(Completable.fromAction(new Action() {
  6. @Override
  7. public void run() throws Exception {
  8. counter.incrementAndGet();
  9. }
  10. })))
  11. .test()
  12. .assertResult();
  13. assertEquals(5, counter.get());
  14. }

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

  1. @Test
  2. public void disposed() {
  3. TestHelper.checkDisposed(
  4. Observable.never()
  5. .concatMapCompletable(
  6. Functions.justFunction(Completable.complete()))
  7. );
  8. }

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

  1. @Test
  2. public void simple() {
  3. Observable.range(1, 5)
  4. .concatMapCompletable(Functions.justFunction(Completable.complete()))
  5. .test()
  6. .assertResult();
  7. }

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

  1. @Test
  2. public void mainError() {
  3. Observable.<Integer>error(new TestException())
  4. .concatMapCompletable(completableComplete())
  5. .test()
  6. .assertFailure(TestException.class);
  7. }

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

  1. @Test
  2. public void fusionRejected() {
  3. final CompletableSubject cs = CompletableSubject.create();
  4. TestHelper.rejectObservableFusion()
  5. .concatMapCompletable(
  6. Functions.justFunction(cs)
  7. )
  8. .test()
  9. .assertEmpty();
  10. }

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

  1. @Test
  2. public void simpleLongPrefetch() {
  3. Observable.range(1, 1024)
  4. .concatMapCompletable(Functions.justFunction(Completable.complete()), 32)
  5. .test()
  6. .assertResult();
  7. }

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

  1. @Test
  2. public void emptyScalarSource() {
  3. final CompletableSubject cs = CompletableSubject.create();
  4. Observable.empty()
  5. .concatMapCompletable(Functions.justFunction(cs))
  6. .test()
  7. .assertResult();
  8. }

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

  1. @Test
  2. public void justScalarSource() {
  3. final CompletableSubject cs = CompletableSubject.create();
  4. TestObserver<Void> to = Observable.just(1)
  5. .concatMapCompletable(Functions.justFunction(cs))
  6. .test();
  7. to.assertEmpty();
  8. assertTrue(cs.hasObservers());
  9. cs.onComplete();
  10. to.assertResult();
  11. }
  12. }

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

  1. @Test
  2. public void mainError() {
  3. Observable.<Integer>error(new TestException())
  4. .concatMapCompletable(Functions.justFunction(Completable.complete()))
  5. .test()
  6. .assertFailure(TestException.class);
  7. }

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

  1. @Test
  2. public void asyncFused() {
  3. final PublishSubject<Integer> ps = PublishSubject.create();
  4. final CompletableSubject cs = CompletableSubject.create();
  5. final TestObserver<Void> to = ps.observeOn(ImmediateThinScheduler.INSTANCE)
  6. .concatMapCompletable(
  7. Functions.justFunction(cs)
  8. )
  9. .test();
  10. ps.onNext(1);
  11. ps.onComplete();
  12. cs.onComplete();
  13. to.assertResult();
  14. }

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

  1. @Test
  2. public void notFused() throws Exception {
  3. UnicastSubject<Integer> us = UnicastSubject.create();
  4. TestObserver<Void> to = us.hide().concatMapCompletable(completableComplete(), 2).test();
  5. us.onNext(1);
  6. us.onNext(2);
  7. us.onComplete();
  8. to.assertComplete();
  9. to.assertValueCount(0);
  10. to.assertNoErrors();
  11. }

相关文章

Observable类方法