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);
My
personSubscriber
返回更新的
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);