仅对 RxJava 链中的最后一项抛出异常
Throw exception only for last item in RxJava chain
我的 Android 应用程序中有一个 wifi 地址列表。此外,还有 WifiManager 接受地址并在可能的情况下进行连接。连接过程是 RxJava Completable,在连接失败的情况下抛出异常。我如何逐一检查所有地址,并仅在最后一个地址失败时抛出异常?
只抑制除最后一个以外的所有错误 Completable
List<String> addresses = ...
int s = address.size();
Flowable.range(0, s)
.flatMapCompletable(index -> {
Completable c = manager.checkAddress(addresses.get(index));
if (index != s - 1) {
c = c.onErrorComplete();
}
return c;
}, false, 1)
.subscribe(...)
我的 Android 应用程序中有一个 wifi 地址列表。此外,还有 WifiManager 接受地址并在可能的情况下进行连接。连接过程是 RxJava Completable,在连接失败的情况下抛出异常。我如何逐一检查所有地址,并仅在最后一个地址失败时抛出异常?
只抑制除最后一个以外的所有错误 Completable
List<String> addresses = ...
int s = address.size();
Flowable.range(0, s)
.flatMapCompletable(index -> {
Completable c = manager.checkAddress(addresses.get(index));
if (index != s - 1) {
c = c.onErrorComplete();
}
return c;
}, false, 1)
.subscribe(...)