我正试图一一从Firebase
中获取帖子。我的意思是,我有一个transformPost
闭包,可以从Firebase
获取帖子,当我将其传递给它时,可以同时获取多个帖子,而仅获取几篇帖子。我相信这是因为我使用过多的闭包以按ID提取图像和用户,并且还使用调度组来等待所有它们完成特定的发布。
所以,我的问题是如何在传递新帖子之前等待获取帖子关闭。
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