, makeAPIRequest additionalProcessing Observable<SomeNotVoidType>, storeData Observable<Array>.
, :
Observables, . toObservable, :
let apiOperations = data.map{ makeAPIRequest($0) }.toObservable()
merge, Observable, , API . toArray, API :
let resultsArray = apiOperations.merge().toArray()
Observable<Array<ApiResult>>, Next, API . :
let storedResults = resultsArray.flatMap { storeDatabase($0) }
Observables , . , flatMap flatMapLates, , Observable<Observable<SomeType>>.
let additionalProcessingResults = storedResults.flatMap {
return $0.map(additionalProcessing).toObservable()
}.flatMapLatest { return $0 }
( - ):
additionalProcessingResults.subscribe { (event) -> Void in
}.addDisposableTo(disposeBag);
, , , .