我已经使用RxSwift在第一个函数的返回中调用其他函数。为此,我尝试了以下代码:
func startSyncNow(_ call: CAPPluginCall,lastSyncTime: String) -> Observable<String> {
return createOrAlterTable(call)
.flatMapLatest(){ query -> Observable<String> in
let formschema = self.formSchemaToSQLite(call, lastSyncTime: lastSyncTime)
return formschema
}.flatMapLatest(){ query -> Observable<String> in
let menuTable = self.menuTableRecord(call, lastSyncTime: lastSyncTime)
return menuTable
}
.map { query -> String in
return "Success"
}
}
func createOrAlterTable(_ call: CAPPluginCall) -> Observable<[[String:Any]]>{
return Observable.just("Sucess")
}
func formSchemaToSQLite(_ call: CAPPluginCall,lastSyncTime : String) -> Observable<String> {
return Observable.just("Sucess")
}
func menuTableRecord(_ call: CAPPluginCall,lastSyncTime:String) -> Observable<String>{
return Observable.just("Sucess")
}
当我调试此代码时,无法在formSchemaToSQLite或recordsTOSqlite上达到调试点。请指导我我所缺少的
下面的代码都会进行编译,并且在您调用该example()
函数时,将调用所有函数:
struct CAPPluginCall { }
func example() {
_ = startSyncNow(CAPPluginCall(), lastSyncTime: "before")
.subscribe(onNext: { result in
print(result)
})
}
func startSyncNow(_ call: CAPPluginCall, lastSyncTime: String) -> Observable<String> {
return createOrAlterTable(call)
.flatMapLatest { query -> Observable<String> in
let formschema = formSchemaToSQLite(call, lastSyncTime: lastSyncTime)
return formschema
}
.flatMapLatest { query -> Observable<String> in
let menuTable = menuTableRecord(call, lastSyncTime: lastSyncTime)
return menuTable
}
.map { query -> String in
return "Success"
}
}
func createOrAlterTable(_ call: CAPPluginCall) -> Observable<[[String:Any]]>{
return Observable.just([[:]])
}
func formSchemaToSQLite(_ call: CAPPluginCall,lastSyncTime : String) -> Observable<String> {
return Observable.just("Sucess")
}
func menuTableRecord(_ call: CAPPluginCall,lastSyncTime:String) -> Observable<String>{
return Observable.just("Sucess")
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句