次のシナリオがあり、RxJava で変換する必要があります。
- ローカル データベースから 30 個のアイテムを取得する
- これらの 30 エントリで API を呼び出します (1 つの要求)
- ローカルデータベースからアイテムを削除します(これにはアイテムリストへのアクセスが必要です)
- ループ (?) db が空になるまでこれを 1 ~ 3 回繰り返したい
私がこれまでに行ったことは次のようになります。
fetchAllFromDbObservable()
.flatMap( (string) -> {
return Model
})
.buffer(30)
.publish( (List<Model>, Response) -> {
return callApiObservable(List<Model>);
})
.publish( (Response) -> {
// how do I get access here to List<Model> ?
ArrayList<Long> ids = getIdsFromList(List<Model>)
return removeFromDbObservable(ids);
})
質問:
- publish を呼び出すのは正しいことですか、それとも when/and/then を使用する必要がありますか?
- モデルリストをあるオブザーバブルから別のオブザーバブルに渡すにはどうすればよいですか?
ありがとう