【RxKotlin】ストリームでError発生時に処理を実行する
結論
RxKotlin
の場合はdoOnErro()
オペレータを使って、ストリームにErrorが流れた時をトリガーに処理を実行することができます。下記の例では、Firebase上でユーザを作成する際に、Errorハンドリングとして、Auth
のcurrentUser
を削除するようにしています。
return authRepository.signUp(email, password)
.flatMap { userRepository.create(it) }
.flatMap { saveToRealm(it) }
.doOnError {
removeCurrentUser()
}
てな感じで本日は以上となります🍺
参考
- http://reactivex.io/documentation/operators/do.html
- https://qiita.com/tomoya0x00/items/ded1c82b5650ae018682