rxjava2:对数据库的分页调用的观察值的串联

我有一个方法,该方法执行对数据库的分页调用以收集数据并返回可观察到的结果。

public Observable search(string query,int limit,int offset)

我想构建一个执行所有分页搜索调用的方法,以加载我的查询的所有页面并返回Completable。在这种方法中,我想将所有页面连接到一个流中,执行响应式转换和操作并返回一个可完成的对象。

但是,由于我必须处理大量数据,所以我不想同时加载所有页面,不想将大量数据放入内存并用大量数据填充我的响应流,因为订阅者处理数据的速度比发布者慢。

因此,我想处理数据的第一页,然后通过对搜索方法的调用加载另一页,对其进行处理,然后继续直到处理完最后一页。

由于我处于无功状态,我不确定写一个循环来取一个好主意:获取数据,订阅将转换和处理数据的流。

我的方法是将一个流中的所有页面连接起来(使用Observable.concat之类的方法),然后处理该流。但是,我不想在内存中加载大量数据并获取outOfMemoryException。

在这种情况下我应该使用Flowable并使用背压吗?

使用rxjava2做到这一点的最佳方法是什么?

BUG2010 回答:rxjava2:对数据库的分页调用的观察值的串联

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2787808.html

大家都在问