Java 从while循环创建可流动的
我对RxJava非常陌生,需要创建包含多个数据源的存储库。这对我来说很复杂,因为有几个较小的子任务,我不知道如何用RxJava实现 首先,我有自己编写的dao,它处理InputStream,并提供指定范围内的项。目前它只是在列表中收集数据,但我想使用flowable逐个提供项目;目前它拥有Java 从while循环创建可流动的,java,android,rx-java2,repository-pattern,Java,Android,Rx Java2,Repository Pattern,我对RxJava非常陌生,需要创建包含多个数据源的存储库。这对我来说很复杂,因为有几个较小的子任务,我不知道如何用RxJava实现 首先,我有自己编写的dao,它处理InputStream,并提供指定范围内的项。目前它只是在列表中收集数据,但我想使用flowable逐个提供项目;目前它拥有可能。还有一些错误需要传输到更高级别(数据源)。例如EndOfFile,通知数据源数据已完全缓存 Dao.class: List<Item> loadRange(int start, int num
可能
。还有一些错误需要传输到更高级别(数据源)。例如EndOfFile,通知数据源数据已完全缓存
Dao.class
:
List<Item> loadRange(int start, int number) throws ... {
...
while(...) {
...
//TODO contribute item to flowable
resultList.add(new Item(...))
}
return resultList;
}
List loadRange(int start,int number)抛出。。。{
...
而(…){
...
//TODO将项目贡献给flowable
结果列表.添加(新项(…)
}
返回结果列表;
}
Maybe
刚刚创建的方法Maybe.fromCallable()
请帮帮我 类似的东西应该适用于此:
Flowable<Item> loadRange(int start, int number) {
return Flowable.create(emitter -> {
try {
while (...){
emitter.onNext(new Item());
}
emitter.onComplete();
} catch (IOException e) {
emitter.onError(e);
}
}, BackpressureStrategy.BUFFER);
}
Flowable<Item> loadRange(int start, int number) {
return Flowable.create(new FlowableOnSubscribe<Item>() {
@Override public void subscribe(FlowableEmitter<Item> emitter) {
try {
while (...){
emitter.onNext(new Item());
}
emitter.onComplete();
} catch (IOException e) {
emitter.onError(e);
}
}
}, BackpressureStrategy.BUFFER);
}