在你的 Api repo 中声明这个函数
fun getJobs(contractor_id: String): Observable<JobListModel> {
return Observable.zip(
apiInterface.pendingJobs(contractor_id, 0, 5),
apiInterface.activeJobs(contractor_id, 0, 5),
apiInterface.completedJobs(contractor_id, 0, 5),
apiInterface.cancelledJobs(contractor_id, 0, 5),
Function4<PendingJobResponseModel, ActiveJobResponseModel, CompletedJobResponseModel, CancelledJobResponseModel, JobListModel> { p, a, c, ca ->
JobListModel(p, a, c, ca)
}
)
}
这是对多个请求和模型进行压缩的方法。
更多详细解释请参考此链接Rxjava Android how to use the Zip operator
映射所有响应的 Job ListModel 类
class JobListModel(
val pendingJobResponseModel: PendingJobResponseModel,
val activeJobResponseModel: ActiveJobResponseModel,
val completedJobResponseModel: CompletedJobResponseModel,
val cancelledJobResponseModel: CancelledJobResponseModel) : Serializable