[英]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.