【发布时间】:2018-06-09 20:47:00
【问题描述】:
我想知道如何在 Flutter/dart 中编写此代码?我不知道颤振中的任何类可以通知某些代码在另一个代码完成后执行。
var posts = [Post]()
let dispatchGroup = DispatchGroup()
snapshot.forEach({ (postSnapshot) in
guard let postDict = postSnapshot.value as? [String : Any],
let posterUID = postDict["poster_uid"] as? String
else { return }
let postKey = postSnapshot.key
dispatchGroup.enter()
showUserPost(forKey: postKey, posterUID: posterUID) { (post) in
if let post = post {
posts.append(post)
}
dispatchGroup.leave()
}
})
dispatchGroup.notify(queue: .main, execute: {
completion(nil, posts.reversed())
})
【问题讨论】: