邮政编码的动态可观察数量

时间:2019-05-14 23:46:43

标签: android kotlin rx-java

我有一个可观察的清单。它的大小是动态的。每个可观察对象都表示通过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显示错误,说以下提供的参数无法调用以下函数。

我在做什么错?任何帮助将不胜感激。预先感谢。

1 个答案:

答案 0 :(得分:0)

您必须执行以下操作:

Observable.zip(iterateObservable) { items ->
    // zip them in some way
}

items将包含Observable

中所有iterableObservable的发射