簡體   English   中英

Rxswift如何調用1個或多個函數以返回另一個函數

[英]Rxswift how to call 1 or more functions in return of the other function

我已經使用 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")
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM