Я пытаюсь получить сообщения из 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