1 回答
TA贡献1829条经验 获得超7个赞
这样的事情应该适用于此:
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);
}
我假设一旦循环完成你想要完成,也向下游发送错误,而不是处理方法签名。您也可以更改BackPressureStrategy以适合您的用例,即DROP,LATEST等等。
由于您是 RxJava 的新手,匿名类将是:
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);
}
添加回答
举报