繁体   English   中英

swift 5 - 递归闭包函数

[英]swift 5 - recursive closure func

所以我试图重现我自己的功能:

func finishConfigSession() {
    if let config =  self.handler?.configurationSession?.config {
       config.finishSession()
    }
}

func logOut(success: @escaping () -> Void, failure: @escaping () -> Void) {
        self.sdk.cancelCurrentRunningControlFlow()
        self.finishConfigSession()
        self.sdk.logoutAsynchronously(handler: { (result, error) in
            if (error != nil) {
                self.finishConfigSession()
                // call again to logout
                failure()
            } else {
                success()
            }
        })
}

当我收到错误时,我想再次调用 logout func 以成功完成 func。 知道如何实现吗?

所以这是答案:

func finishConfigSession() {
if let config =  self.handler?.configurationSession?.config {
   config.finishSession()
 }
}

    func logOut(success: @escaping () -> Void, failure: @escaping () -> Void) {
        self.sdk.cancelCurrentRunningControlFlow()
        self.finishConfigSession()
        self.sdk.logoutAsynchronously(handler: { [weak self] (result, error) in
            if (error != nil) {
                self?.logOut(success: success, failure: failure)
                failure()
            } else {
                success()
            }
        })
}

感谢@Larme 的帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM