выборка из сообщений Firebase один за другим - PullRequest
0 голосов
/ 06 мая 2019

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

Итак, мой вопрос в том, как дождаться окончания извлечения сообщения, прежде чем пропустить новое сообщение.

func loadPods() {
        Database.database().reference().child("Posts").observe(.childAdded) { dataSnapshot in
            if let dict = dataSnapshot.value as? [String: Any] {
                print("start", dataSnapshot.key)

                Post.transformPost(dict: dict, postId: dataSnapshot.key, completion: { (post) in
                    print("finish", dataSnapshot.key)

                    self.posts.append(post)
                    self.tableView.reloadData()
                })
            } 
        }
    }

выход:

start LSkymSniU32bPBKyb7F
start TSyaoSniU57bPBKyb7G
finish LSkymSniU32bPBKyb7F
...