. , . requests DownloadParams, userId, recordStartTime, recordEndTime countOfRecord, Observable<DownloadParams> requests. responses , .. Observable<List<Record>> responses.
responses, , requests, , requests responses, DownloadParams . , requests Observable, userId . Observable .startWith(firstDownloadParams).
, . , Rx Cycle.js RxJS. , , .
RxJava , , , . Observables , :
Observable<DownloadParams> requests = responses.flatMap( /* ... */ )
.startWith(firstDownloadParams);
Observable<List<Record>> responses = requests.flatMap( /* ... */ );
, , . . :
PublishSubject<List<Record>> responsesProxy = PublishSubject.create();
Observable<DownloadParams> requests = responsesProxy.flatMap( /* ... */ )
.startWith(firstDownloadParams);
Observable<List<Record>> responses = requests.flatMap( /* ... */ );
responsesProxy responses, requests responsesProxy. responsesProxy responses. , :
responses.subscribe(responsesProxy);
, , , .
flatMap. requests.flatMap( ) , . , , , RxJava.
responsesProxy.flatMap( ) , 100 , DownloadParams recordStartTime, Observable.just(newDownloadParams). 100, Observable.empty().