rx Javaを使用して異なる種類の観測対象を一度に圧縮する方法はありますか?異なる種類のZip複数観測可
Observable<Action> actionStream = getAction();
Observable<UserInfo> ownerStream = getOwner();
Observable<List<UserInfo>> relatedUsersStream = getUsers();
Observable<Double> score = getScore();
//Question: how to merge all relusts at once nad call `getResult`?
getResult(action, owner, relatedUsers, score);
UPDATE:たソリューション。しかし、厄介なのはgetResult
がResult
の代わりにObservable<Result>
を返し、コンパイルしたくないということです。
Observable.<Action, UserInfo, List<UserInfo>, Double, Result>zip(
(action, owner, relatedUsers, score) -> getResult(action, owner, relatedUsers, score)
);
はおそらく、タプル型にジッパーあなたは、このようなものを作ることができますか? – akarnokd
@akarnokd確かに、appacheには 'Pair'と' Triple'の実装しかありません。私はカスタム4th-Tuple、かなり醜いコードで終了します –
これは、反応的な使用のためにあなた自身の複合オブジェクトを書くのはかなり普通です。 tuple4 +でlibが見つからない場合は、独自のクラスを作成してください。 – akarnokd