io.reactivex.Single.doOnSuccess()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.1k)|赞(0)|评价(0)|浏览(325)

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

Single.doOnSuccess介绍

[英]Calls the shared consumer with the success value sent via onSuccess for each SingleObserver that subscribes to the current Single. Scheduler: doOnSuccess does not operate by default on a particular Scheduler.
[中]为订阅当前单曲的每个SingleObserver调用通过onSuccess发送的成功值。调度器:默认情况下,doOnSuccess不会在特定的调度器上运行。

代码示例

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

@Test(expected = NullPointerException.class)
public void doOnSuccess() {
  just1.doOnSuccess(null);
}

代码示例来源:origin: spring-projects/spring-framework

@PostMapping("/flowable")
  @SuppressWarnings("deprecation")
  public io.reactivex.Completable createWithFlowable(@RequestBody Flowable<Person> flowable) {
    return flowable.toList().doOnSuccess(persons::addAll).toCompletable();
  }
}

代码示例来源:origin: spring-projects/spring-framework

@PostMapping("/rxjava2-observable")
@SuppressWarnings("deprecation")
public io.reactivex.Completable createWithRxJava2Observable(
    @RequestBody io.reactivex.Observable<Person> observable) {
  return observable.toList().doOnSuccess(persons::addAll).toCompletable();
}

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

@Override
  public SingleSource<Integer> apply(Integer v) throws Exception {
    if (v == 0) {
      return Single.error(new RuntimeException());
    } else {
      return Single.just(1).doOnSuccess(new Consumer<Integer>() {
        @Override
        public void accept(Integer n) throws Exception {
          completed.set(true);
        }});
    }
  }
})

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

@Override
protected Single<RxBleDeviceServices> getCallback(RxBleGattCallback rxBleGattCallback) {
  return rxBleGattCallback.getOnServicesDiscovered().firstOrError()
      .doOnSuccess(new Consumer<RxBleDeviceServices>() {
        @Override
        public void accept(RxBleDeviceServices rxBleDeviceServices) throws Exception {
          bleServicesLogger.log(rxBleDeviceServices, bluetoothGatt.getDevice());
        }
      });
}

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

@Test
public void testTakeWhileToList() {
  final int expectedCount = 3;
  final AtomicInteger count = new AtomicInteger();
  for (int i = 0; i < expectedCount; i++) {
    Observable
        .just(Boolean.TRUE, Boolean.FALSE)
        .takeWhile(new Predicate<Boolean>() {
          @Override
          public boolean test(Boolean v) {
            return v;
          }
        })
        .toList()
        .doOnSuccess(new Consumer<List<Boolean>>() {
          @Override
          public void accept(List<Boolean> booleans) {
            count.incrementAndGet();
          }
        })
        .subscribe();
  }
  assertEquals(expectedCount, count.get());
}

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

@Test
public void testIssue1451Case1() {
  // https://github.com/Netflix/RxJava/issues/1451
  final int expectedCount = 3;
  final AtomicInteger count = new AtomicInteger();
  for (int i = 0; i < expectedCount; i++) {
    Observable
        .just(Boolean.TRUE, Boolean.FALSE)
        .takeWhile(new Predicate<Boolean>() {
          @Override
          public boolean test(Boolean value) {
            return value;
          }
        })
        .toList()
        .doOnSuccess(new Consumer<List<Boolean>>() {
          @Override
          public void accept(List<Boolean> booleans) {
            count.incrementAndGet();
          }
        })
        .subscribe();
  }
  assertEquals(expectedCount, count.get());
}

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

@Test
public void testIssue1451Case2() {
  // https://github.com/Netflix/RxJava/issues/1451
  final int expectedCount = 3;
  final AtomicInteger count = new AtomicInteger();
  for (int i = 0; i < expectedCount; i++) {
    Observable
        .just(Boolean.TRUE, Boolean.FALSE, Boolean.FALSE)
        .takeWhile(new Predicate<Boolean>() {
          @Override
          public boolean test(Boolean value) {
            return value;
          }
        })
        .toList()
        .doOnSuccess(new Consumer<List<Boolean>>() {
          @Override
          public void accept(List<Boolean> booleans) {
            count.incrementAndGet();
          }
        })
        .subscribe();
  }
  assertEquals(expectedCount, count.get());
}

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

@Test
public void testTakeWhileToList() {
  final int expectedCount = 3;
  final AtomicInteger count = new AtomicInteger();
  for (int i = 0; i < expectedCount; i++) {
    Flowable
        .just(Boolean.TRUE, Boolean.FALSE)
        .takeWhile(new Predicate<Boolean>() {
          @Override
          public boolean test(Boolean v) {
            return v;
          }
        })
        .toList()
        .doOnSuccess(new Consumer<List<Boolean>>() {
          @Override
          public void accept(List<Boolean> booleans) {
            count.incrementAndGet();
          }
        })
        .subscribe();
  }
  assertEquals(expectedCount, count.get());
}

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

@Test
public void testIssue1451Case2() {
  // https://github.com/Netflix/RxJava/issues/1451
  final int expectedCount = 3;
  final AtomicInteger count = new AtomicInteger();
  for (int i = 0; i < expectedCount; i++) {
    Flowable
        .just(Boolean.TRUE, Boolean.FALSE, Boolean.FALSE)
        .takeWhile(new Predicate<Boolean>() {
          @Override
          public boolean test(Boolean value) {
            return value;
          }
        })
        .toList()
        .doOnSuccess(new Consumer<List<Boolean>>() {
          @Override
          public void accept(List<Boolean> booleans) {
            count.incrementAndGet();
          }
        })
        .subscribe();
  }
  assertEquals(expectedCount, count.get());
}

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

@Test
public void testIssue1451Case1() {
  // https://github.com/Netflix/RxJava/issues/1451
  final int expectedCount = 3;
  final AtomicInteger count = new AtomicInteger();
  for (int i = 0; i < expectedCount; i++) {
    Flowable
        .just(Boolean.TRUE, Boolean.FALSE)
        .takeWhile(new Predicate<Boolean>() {
          @Override
          public boolean test(Boolean value) {
            return value;
          }
        })
        .toList()
        .doOnSuccess(new Consumer<List<Boolean>>() {
          @Override
          public void accept(List<Boolean> booleans) {
            count.incrementAndGet();
          }
        })
        .subscribe();
  }
  assertEquals(expectedCount, count.get());
}

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

@Ignore("v2 components should not throw")
@Test(expected = RuntimeException.class)
public void testOnErrorExceptionIsThrownFromSingleDoOnSuccess() throws Exception {
  Single.just(1)
      .doOnSuccess(new Consumer<Integer>() {
        @Override
        public void accept(Integer integer) {
          throw new RuntimeException();
        }
      })
      .toObservable().subscribe(new OnErrorFailedSubscriber());
}

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

@Test
public void doOnSuccessCrash() {
  Single.just(1)
  .doOnSuccess(new Consumer<Integer>() {
    @Override
    public void accept(Integer v) throws Exception {
      throw new TestException();
    }
  })
  .test()
  .assertFailure(TestException.class);
}

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

@Test
public void doOnSuccess() {
  final Object[] event = { null };
  Single.just(1).doOnSuccess(new Consumer<Integer>() {
    @Override
    public void accept(Integer e) throws Exception {
      event[0] = e;
    }
  })
  .test();
  assertEquals(1, event[0]);
}

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

@Test
public void repeatUntil() {
  final AtomicBoolean flag = new AtomicBoolean();
  Single.just(1)
  .doOnSuccess(new Consumer<Integer>() {
    int c;
    @Override
    public void accept(Integer v) throws Exception {
      if (++c == 5) {
        flag.set(true);
      }
    }
  })
  .repeatUntil(new BooleanSupplier() {
    @Override
    public boolean getAsBoolean() throws Exception {
      return flag.get();
    }
  })
  .test()
  .assertResult(1, 1, 1, 1, 1);
}

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

.doOnSuccess(new Consumer<List<Object>>() {
  @Override
  public void accept(List<Object> integers) {

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

.doOnSuccess(new Consumer<List<Object>>() {
  @Override
  public void accept(List<Object> integers) {

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

@Test
public void doOnSuccessErrors() {
  final int[] call = { 0 };
  Single.error(new TestException())
  .doOnSuccess(new Consumer<Object>() {
    @Override
    public void accept(Object v) throws Exception {
      call[0]++;
    }
  })
  .test()
  .assertFailure(TestException.class);
  assertEquals(0, call[0]);
}

代码示例来源:origin: pockethub/PocketHub

public static <U> SingleTransformer<U, U> bindToLifecycle(Context context, CharSequence message) {
    return upstream -> {
      final MaterialDialog progressDialog = new MaterialDialog.Builder(context)
          .content(message)
          .progress(true, 0)
          .build();

      return upstream
          .doOnSubscribe(disposable -> progressDialog.show())
          .doOnSuccess(u -> progressDialog.dismiss())
          .doOnError(throwable -> progressDialog.dismiss());
    };
  }
}

代码示例来源:origin: TeamNewPipe/NewPipe

/**
 * Check if we can load it from the cache (forceLoad parameter), if we can't,
 * load from the network (Single loadFromNetwork)
 * and put the results in the cache.
 */
private static <I extends Info> Single<I> checkCache(boolean forceLoad,
                           int serviceId,
                           String url,
                           Single<I> loadFromNetwork) {
  checkServiceId(serviceId);
  loadFromNetwork = loadFromNetwork.doOnSuccess(info -> cache.putInfo(serviceId, url, info));
  Single<I> load;
  if (forceLoad) {
    cache.removeInfo(serviceId, url);
    load = loadFromNetwork;
  } else {
    load = Maybe.concat(ExtractorHelper.loadFromCache(serviceId, url),
        loadFromNetwork.toMaybe())
        .firstElement() //Take the first valid
        .toSingle();
  }
  return load;
}

相关文章

微信公众号

最新文章

更多