0
バックプレッシャーを使用してデータページングを処理しようとしています。私はすべての要求(N)のためにサーバーからN個の新しいチャンクを要求する観測可能性を持っています。ユーザーがボタンをクリックした後、新しいデータを取得したい。バックプレッシャーメカニクスを使用してページングでデータを取得する
私の主な目標は、私はジップが
Observable.zip(dataFromServer(), userActions(), (data, ø) -> data).subscribe(showData());
ここで素晴らしいことだと思うよしかし、理由はジップの内側Mの大きさにRxRingBufferの観察可能な契約
interface Api {
void openConnection(); //subscription
boolean hasNextPage(); //completion
Single<Data> nextPage();//onNext and onError
void closeConnection(); //unsubscription
}
により、このAPIを置き換えることです演算子は、サブスクリプション後すぐにサーバーからM個のデータチャンクを要求します。これは完全に不適切です。バッファサイズを1に変更することはできますが(私はできません)、上部構造の動作は不適切です。データは、最初のユーザー操作の前に要求されますが、最初のユーザー操作の後に最初に要求されます。私のアプローチが全く間違っているようです。
ページネーションがある場合は、2パラメータの「flatMap」が最適に機能します。 –