roo*_*oof 3 ios swift rx-swift
我有两个包含同一对象的数组的 Single 值。我想合并它们并应用地图并将它们作为单个返回。是否可以?
所以我有这个:
func fetchTripList(type: TripType) -> Single<[Trip]> {
let response: Single<APITripListResponse> = request(target: TripsAPI.fetchUpcomingTripList)
return response.map { $0.toModel() }
}
Run Code Online (Sandbox Code Playgroud)
我需要这样的东西:
func fetchTripList(type: TripType) -> Single<[Trip]> {
let responseUpcoming: Single<APITripListResponse> = request(target: TripsAPI.fetchUpcomingTripList)
let responsePast: Single<APITripListResponse> = request(target: TripsAPI.fetchPastTripList)
//'Declare a Singe variable <[Trip]> called X merge both responseUpcoming and responsePast, apply to them map { $0.toModel() } and return it'
return X
}
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助。
如果 thinkmerge运算符正是您想要的,它会等到您从两个请求中获取数据,然后将它们合并到一个数组中,您可以使用 进行修改map。之后您可以将其转换为single.
所以它看起来像这样:
Observable.merge(responseUpcoming.asObservable(), responsePast.asObservable()).map { $0.toModel() }.asSingle()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3168 次 |
| 最近记录: |