gpt4 book ai didi

ios - RxSwift : Subscribe to Observable. 压缩包。将结果作为元组处理?

转载 作者:行者123 更新时间:2023-11-28 05:39:05 26 4
gpt4 key购买 nike

我正在尝试将两个网络请求与 zip 函数结合起来。这两个请求依赖于另一个请求 (getInfoA)。

这是我正在使用的代码:

IoC.networkProcessService.getInfoA(with: identifier)
.map { infoA -> Observable<(InfoB, InfoC)> in

return Observable.zip(
IoC.networkProcessService.getInfoB(with: infoA),
IoC.networkProcessService.getInfoC(with: infoA)
{ return ($0, $1) }

}
.subscribe(onNext: { result in
print(result)

// result is of type Observable<(InfoB, InfoC)>...

}, onError: { error in
Logger.main.log(category: [.network, .error], arguments: error.localizedDescription)

})
.disposed(by: disposeBag)

我希望 result(在 subscribe block 中)是一个元组并且我能够访问 infoB信息C

但事实并非如此。 subscribe 是从 zip 访问元组的正确运算符吗?

最佳答案

只需将 map 更改为 flatMapresult 将更改为 tuple 而不是 Observable。

IoC.networkProcessService.getInfoA(with: identifier)
.flatMap { infoA -> Observable<(InfoB, InfoC)> in

return Observable.zip(
IoC.networkProcessService.getInfoB(with: infoA),
IoC.networkProcessService.getInfoC(with: infoA)
{ return ($0, $1) }

}
.subscribe(onNext: { result in
print(result)

// result is of type (InfoB, InfoC)

}, onError: { error in
Logger.main.log(category: [.network, .error], arguments: error.localizedDescription)

})
.disposed(by: disposeBag)

关于ios - RxSwift : Subscribe to Observable. 压缩包。将结果作为元组处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57605851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com