Я хочу, чтобы функция ждала, пока первая функция получит данные из базы данных, а затем выполнит вторую, но оказалось, что она не работает в правильном порядке.
func getMenuData(){
getMenu()
getIngredient()
getRecipe()
self.dispatchGroup.notify(queue: .main){
print("finished download")
}
}
func getMenu(){
self.dispatchGroup.enter()
let menu = self.ref.collection("menu").document("menu1")
menu.getDocument(source: .cache) { (document, error) in
if let document = document {
let menuName = document.get("menuEngName") as! String
print("MenuName = \(menuName)")
} else {
print("Document does not exist in cache")
}
}
self.dispatchGroup.leave()
}
func getIngredient(){
for n in 1...5 {
print("getIngre")
}
}
func getRecipe(){
for n in 1...5 {
print("getRecipe")
}
}
вышло, что «законченная загрузка» была распечатана до MenuName
изображение результата
заранее спасибо