我需要从网络请求不同类型的模型,然后将它们组合成一个模型。如何链接多个可观察对象并返回另一个可观察对象?
我有类似的东西:
func fetchDevices() -> Observable<DataResponse<[DeviceModel]>>
func fetchRooms() -> Observable<DataResponse<[RoomModel]>>
func fetchSections() -> Observable<DataResponse<[SectionModel]>>
我需要做类似的事情:
func fetchAll() -> Observable<(AllModels, Error)> {
fetchSections()
// Then if sections is ok I need to fetch rooms
fetchRooms()
// Then - fetch devices
fetchDevices()
// And if everything is ok create AllModels class and return it
// Or return error if any request fails
return AllModels(sections: sections, rooms: rooms, devices:devices)
}
如何用 RxSwift 实现它?我阅读了文档和示例,但了解如何链接具有相同类型的可观察对象