Я новичок в Swift и SwiftUI, и у меня большая проблема, я надеюсь, что кто-то может мне помочь. На самом деле, у меня есть функция, в которой я использую вызов для firebase Db, но функция завершается до ответа firebase. Так есть ли способ сделать как ждать в Свифте? Я пытаюсь найти сам, но все, что я пытаюсь, не работает.
Я положил образец кода, возможно, он будет более понятным.
extension SessionStore {
func checkReferralCode(){
let docRef = db.document(user.referredBy)
docRef.getDocument { (document, error) in
if let document = document, document.exists {
let otherUser = self.changeReferralUserInformation(dataDescription: document)
docRef.setData(otherUser)
self.user.moneyBalance = 1
return
} else {
print("No referral Code")
self.firestoreError = "referralCode_unvalid"
self.user.referredBy = ""
return
}
}
}
func doInscriptionInformation() {
if (self.user.referredBy != "") {
self.checkReferralCode()
if (self.firestoreError == "" ) {
/* it's always go in this way but 1 secs after the firestoreError change */
print("START UPLOAD")
self.determineUploadType()
} else {
return
}
}
}
Вывод будет таким:
$> START UPLOAD
$> No referral Code