public Completable connect() { /* ... */ } public Single<Integer> getValue() { /* ... */ } public Completable disconnect() { /* .. */ } 例えばこんなメソッドがあるとする。 何かと接続し、値を取得して切断するという処理で。呼び出す順番は必ずconnect() > getValue() > disconnect() でなければならない。 ところで、Completableをメソッドチェーンを使って直列に処理したい場合以下のようにすればいい。 connect() .andThen(task1()) .andThen(task2()) /* ... */ .andThen(disconnect()) .subscribe(/* ... */);