Почему операторы печати не выполняются в правильном порядке? Я сумасшедший или XCode? - PullRequest
0 голосов
/ 12 января 2020

По какой-то причине, которую я не могу понять, последний оператор print выполняется перед вторым оператором print (do c .data ()). Любая помощь приветствуется. Для некоторого контекста я пытаюсь запросить данные из firestore и сохранить некоторые из этих данных в объекте User. Так почему же эти операторы печати выполняются в неправильном порядке.

let db = Firestore.firestore()
guard let uid = Auth.auth().currentUser?.uid else { return }

print("hello world")
db.collection("users").whereField("uid", isEqualTo: uid).getDocuments() { (querySnapshot, error) in
    if let error = error {
        print("Error finding user: \(error)")
    } else {
        for document in querySnapshot!.documents {
            print(document.data())
        }
    }
}

print("Am I crazy or is Xcode?")

1 Ответ

3 голосов
/ 12 января 2020

Внимательно следите за своими журналами. Ответ от пожарного магазина асинхронный. Вероятно, ваши журналы выглядят так:

hello world
Am I crazy or is Xcode?
user1
user2
user3

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