Rxswift 如何在另一个函数的 return 中调用 1 个或多个函数
Rxswift how to call 1 or more functions in return of the other function
我已经使用 RxSwift 调用了第一个函数 return 中的其他函数。为此,我尝试了这段代码:
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")
}
我已经使用 RxSwift 调用了第一个函数 return 中的其他函数。为此,我尝试了这段代码:
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")
}