我有一个可观察的清单。它的大小是动态的。每个可观察对象都表示通过Retrofit进行的api调用。因此,我需要压缩所有这些调用以返回相同类型的响应列表。
以下是我尝试过的内容:
//The method that perfoms the api call
private fun iterateObservable(params: AssignSeatStatusResponse): List<Observable<SeatSelectionResponse>> {
val seatsMatrix = mutableListOf<Observable<SeatSelectionResponse>>()
params.seatJourneys.forEach { seatJourneysItem ->
seatJourneysItem.seatSegments.forEach { seatSegmentsItem ->
seatsMatrix.add(
this.getSeatMapFromServiceUseCase.createObservable(buildSeatSelectionRequest(seatSegmentsItem))
.subscribeOn(Schedulers.newThread())
)
}
}
return seatsMatrix
//The method I need to return the list of observables
override fun createObservable(params: AssignSeatStatusResponse): Observable<List<SeatSelectionResponse>> {
return Observable.zip(iterateObservable(params), FuncN {
})
}
我的问题是zip显示错误,说以下提供的参数无法调用以下函数。
我在做什么错?任何帮助将不胜感激。预先感谢。
答案 0 :(得分:0)
您必须执行以下操作:
Observable.zip(iterateObservable) { items ->
// zip them in some way
}
items
将包含Observable
iterableObservable
的发射