idToken
在返回变量之前,我正在等待响应。
请不要告诉我只使用完成处理程序并在没有DispatchGroup
. 我知道我可以做到,但我试图理解为什么这个逻辑不起作用。
func createToken() -> String {
var token = "empty"
var group = DispatchGroup()
group.enter()
let currentUser = Auth.auth().currentUser
currentUser?.getIDTokenForcingRefresh(true) { idToken, error in
token = idToken ?? "error"
print("Token Set")
group.leave()
}
group.wait(timeout: DispatchTime.now() + 10)
return token
}
跑步:
print("create ")
print(createToken())
print("done")
输出:
create
empty
done
Token Set