Глобальная переменная Firebase Firestore для асинхронной функции - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу установить глобальную переменную, равную некоторым значениям, которые я получаю из своей базы данных пожарного депо.Тем не менее, я думаю, что, поскольку это

Firestore.firestore().collection("users").document(self.id).getDocument { (snapshot, err) in

                if let err = err {
                    print("Error getting documents: \(err)")
                } else{

                    self.nameGlobal = snapshot?.get("name") as! String ?? "failed"
                    self.usernameGlobal = snapshot?.get("username") as! String ?? "failed"

                }

            } 

print (self.nameGlobal) print (self.usernameGlobal)

Из-за асинхронной природы операторы print в конце, похоже, выполняются перед функцией Firestoreзакончили бег.Кто-нибудь знает, как я мог заставить функцию завершить обновление глобальных переменных перед выполнением последующих строк?Я действительно хотел бы иметь возможность доступа к этим переменным вне обратного вызова, а не писать весь мой код внутри обратного вызова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...