2017-08-18 12 views
0

私はAndroidアプリでWiFiアドレスのリストを持っています。また、アドレスを受け入れ可能な場合は接続するWifiManagerがあります。接続プロシージャはRxJava Completableで、接続が失敗した場合に例外をスローします。どのようにすべてのアドレスを1つずつチェックすることができ、最後のアドレスが失敗した場合にのみ例外をスローすることができますか?RxJavaチェーンの最後の項目のみ例外をスローする

答えて

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(...) 
+0

それが動作中にエラーを抑えます。御時間ありがとうございます) –

関連する問題