我的Android应用中有wifi地址列表。另外,有WifiManager接受地址并尽可能连接。连接过程是RxJava Completable,在连接失败的情况下抛出异常。如何逐一检查所有地址,并仅在最后地址失败时抛出异常?
答案 0 :(得分:1)
除了上一个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(...)