Android RxJava-重复API调用,直到结果完成
我有一个返回Android RxJava-重复API调用,直到结果完成,android,rx-java,retrofit2,rx-java2,Android,Rx Java,Retrofit2,Rx Java2,我有一个返回FamilyDetails的API。我使用改装来获取它们,建模如下: Observable<FamilyDetails> getFamilyDetails(@Query int personId); MypersonSubscriber返回更新的Person 我在这个实现中遇到的问题是,部分更新不会通过personSubscriber的onNext(),因为我只得到一个调用onNext(),调用更新的Person对象及其完整的FamilyDetails 我希望使用RxJ
FamilyDetails
的API。我使用改装来获取它们,建模如下:
Observable<FamilyDetails> getFamilyDetails(@Query int personId);
MypersonSubscriber
返回更新的Person
我在这个实现中遇到的问题是,部分更新不会通过personSubscriber
的onNext()
,因为我只得到一个调用onNext()
,调用更新的Person
对象及其完整的FamilyDetails
我希望使用RxJava对其进行建模,并满足以下要求:
- 如果我收到不完整的详细信息,我会更新
对象这些详细信息所属,并通过人员
传递onNext()
- 如果我们收到不完整的详细信息,我们会不断查询API以获取完整的详细信息,并通过
在同一观察者中交付更新的onNext()
对象Person
- 一旦我们使用更新后的
获得最后一次Person
调用,然后调用onNext()
,我们就完成了onComplete()
personApiService.getFamilyDetails(personId)
// repeat call
.repeat()
// until family details are complete
.takeUntil(familyDetails -> familyDetails.isComplete())
//subscribe (do your updates here)
.subscribe(personSubscriber);
personApiService.getFamilyDetails(personId)
// repeat call
.repeat()
// until family details are complete
.takeUntil(familyDetails -> familyDetails.isComplete())
//subscribe (do your updates here)
.subscribe(personSubscriber);