私は現在、Webサービスに呼び出すことで、ビューモデルにデータをフェッチしています:反応拡張機能/ UIキャッシュのWeb要求データ
_loadDataCommand = ReactiveCommand.CreateFromObservable(
() => Observable
.StartAsync(ct => _getAllFunction(ct))
.TakeUntil(_loadDataCancel));
_loadDataCancel
は、キャンセル信号として動作するだけでIObservable<bool>
です。
現在、VMをナビゲートするとload dataコマンドが実行されるようになっています。
これは、特に高価なフェッチ操作、またはユーザーが離れて移動してビューを残した状態(リスト内の選択された項目など)に戻ろうとするときに問題になります。
:私は本当にやることができるようにしたいどのようなは、コマンドは常にフェッチが、私は、私はNAV-へ上利用することができます追加、観察を持ちたい、どのだろうフレッシュを実行するようにそれを持っています
- いくつかの研究は、のようなものを中心にぞんざいな情報を上げ
MemoizeAll()
は、rxでは使用できないようです(System.Interactiveにあります)。 ここで検索すると、https://stackoverflow.com/a/12666462/639771が返ってきましたが、ReactiveUIのマスターソースを見た後、私はもはやObservableAsyncMRUCache
を見つけることができません。
紛失しているものがありますか?私はほとんどそれが自明であることが判明すると確信していますが、私は完全に迷っています。
PS:私はAkavacheが存在することを認識していますが、私のニーズが少し重すぎるかもしれません。