【发布时间】:2023-03-09 18:45:01
【问题描述】:
我正在尝试学习 RxSwift。我一直在使用 Moya,现在想试试 RxSwift。完全糊涂了。
let popServiceProvider = MoyaProvider<PopRESTService>()
let o1 = popServiceProvider.rx.request(.getPopByCity(city: "London")).asObservable()
let o2 = popServiceProvider.rx.request(.getPopByCity(city: "Tokyo")).asObservable()
let pObservables:[Observable<Response>] = [o1, o2]
let stats: Observable<Response> = Observable.combineLatest(pObservables)
let m = stats.map({ a in
print(a)
})
首先我在 let stats 上得到一个错误:
无法将'Observable'类型的值转换为指定类型'Observable'
我是否朝着正确的方向前进?
编辑:
即使这样也行不通。永远不要先订阅:
wServiceProvider.rx.request(.getWeatherByCity(city: "Chicago"))
.debug()
.map(Weather.self)
.subscribe({ (event) in
switch event {
case let .success(response):
print(response)
case let .error(response):
print(response)
}
})
.disposed(by: self.disposeBag)
【问题讨论】: