Dying Object and RxJava
何らかの事情によって死んでしまうオブジェクトを Rx の世界で表現したい。
というと、こんなかんじか:
class FragileThingy { // なんとかして実装する. 死ぬ時に onError() を呼ぶ. val Maybe<Unit> maybeFail }
Maybe<Error> とかにして onSuccess() でいいかと最初はおもったが、そうするとハンドルしてないエラーが握りつぶされてしまうからだめだね。
しかし SurfaceHolder.Callback とか CameraDevice.StateCallback とか雑に生やされたコールバックは寿命を真面目に考えた世界とギャップがありすぎてマップするのが辛い。オブジェクトを(非同期に)構築するのに失敗するのと、構築したあとにエラーがおこるのは別にしといてくれや・・・。
追記
Maybe じゃなくて Completable だな。