如何使用其他 2 个函数的调用函数响应传递 RxSwift zip
How to pass RxSwift zip with calling function response of other 2 function
我在使用 RxSwift Zip 时遇到问题,因为我正在尝试实现其他 2 个函数的响应并将请求发送到第 3 个函数。我已经在 xcode 中调试并且断点本身不是出现在第 3 个函数上使用压缩 。我试过这样
func createOrAlterTable(_ call: CAPPluginCall) -> Observable<[[String:Any]]>{
return Observable.zip(
readTableFromBackend(call), getUserData(call),resultSelector: { value1, value2 in
print("\(value1) \(value2)")
self.readTableFromBackendZipperFun(sqlliteDDLStr: value1, lastFV: value2! as [[String: Any]], call)
}).subscribeOn(MainScheduler.instance)
.subscribe()
.disposed(by: disposeBag)
func readTableFromBackend() -> String {
return "response Table Data"
}
func getUserData() -> String {
return "response user Data"
}
func readTableFromBackendZipperFun(sqlliteDDLStr: value1, lastFV: value2! as [[String: Any]], call)) -> [[String:Any]]
return "JSon response"
根据提出的问题,这是您要查找的内容:
func example<T, U, V>(first: () -> Observable<T>, second: () -> Observable<U>, third: @escaping (T, U) -> Observable<V>) -> Observable<V> {
return Observable.zip(first(), second())
.flatMap(third)
}
我在使用 RxSwift Zip 时遇到问题,因为我正在尝试实现其他 2 个函数的响应并将请求发送到第 3 个函数。我已经在 xcode 中调试并且断点本身不是出现在第 3 个函数上使用压缩 。我试过这样
func createOrAlterTable(_ call: CAPPluginCall) -> Observable<[[String:Any]]>{
return Observable.zip(
readTableFromBackend(call), getUserData(call),resultSelector: { value1, value2 in
print("\(value1) \(value2)")
self.readTableFromBackendZipperFun(sqlliteDDLStr: value1, lastFV: value2! as [[String: Any]], call)
}).subscribeOn(MainScheduler.instance)
.subscribe()
.disposed(by: disposeBag)
func readTableFromBackend() -> String {
return "response Table Data"
}
func getUserData() -> String {
return "response user Data"
}
func readTableFromBackendZipperFun(sqlliteDDLStr: value1, lastFV: value2! as [[String: Any]], call)) -> [[String:Any]]
return "JSon response"
根据提出的问题,这是您要查找的内容:
func example<T, U, V>(first: () -> Observable<T>, second: () -> Observable<U>, third: @escaping (T, U) -> Observable<V>) -> Observable<V> {
return Observable.zip(first(), second())
.flatMap(third)
}