特定の時間遅延の後にユーザの状態をチェックしたいと思います。Rx Android/Java:どのように順次異なるタイプの観測可能な2つを結合する
私が観察可能な2 Observables:
タイマーがあります。特定の遅延後にイベントを発します。
観察可能なタイマ= Observable.timer((endTime - startTime)、TimeUnit.SECONDS);
Observable
これは、ユーザーの現在のステータスを取得します。観察可能ステータス= getCurrentStatusObservable(id);
これらを観測可能に組み合わせて、結果を出力する必要があります。 これを実装するために、以下の方法でzip演算子を使用しました。
return Observable.zip(timer, status, new Func2<Long, CurrentStatus, CurrentStatus>() {
@Override
public Program call(Long aLong, CurrentStatus status) {
return program;
}
});
しかし、問題status
observable
がtimer
吹く前に実行なっていることです。したがって、zip
オペレータは、古いですstatus
を返しています。しかしstatus
Observable
をtimer
の打撃の後に実行したい。
誤った演算子を使用している場合は教えてください。私はconcat
オペレータをチェックしましたが、同タイプのObservable
が必要です。
普通の使用することができます。私はこのためにzip演算子を使用しようとしていた、flatMapを使用して簡単かつ正しいアプローチです。 flatMap以外の演算子を使用して同じ作業を行う方法がありますか? –