【发布时间】:2021-05-19 07:39:09
【问题描述】:
我是 Swift 新手,我正在从数据库中获取 VPN 证书以创建隧道。 问题是应该包含证书的变量(作为数据类型)正在调用一个正在获取证书的函数,但是证书需要时间才能出现,所以变量为空并发送到 VPN 配置,所以 VPN 赢了不行。
证书稍后出现。
我不太擅长解决这类问题, 我试图延迟获取我的证书的功能,但问题仍然存在(我知道这是一个不好的方法,因为网络速度可能会有所不同,我无法控制时间)
你能帮帮我吗?
func getCertificate() -> Data? {
self.loading.onNext(true)
var configData:String = ""
Services.getCert(authToken: UserManager.currentUser?.token ?? "", method: vpnMethod, userID: String(UserManager.currentUser?.user_id ?? 0)) { (error, VpnModel, Int) in
self.loading.onNext(false)
if error == nil{
if VpnModel?.cert_body == nil{
configData = ""
}else{
configData = VpnModel?.cert_body ?? ""
}
}
}
let configurationData = Data(configData.utf8)
print(String(decoding: configurationData, as: UTF8.self))
return configurationData
}
【问题讨论】:
标签: swift database networking fetch vpn