这是我的代码:
func checkIfExist(property: String, isEqualTo: Any) -> Bool {
let query = db.collection("users").whereField(property, isEqualTo: isEqualTo)
query.getDocuments { (snapshot, error) in
guard let snapshot = snapshot?.documents else { print(error!); return }
print("There is \(snapshot.count) items.")
if snapshot.count == 1 {
return true
} else {
return false
}
}
}
Xcode正在大吼大叫,我理解为什么,但我不知道如何修复它。在这种情况下如何退货?我应该使用像PromiseKit这样的库吗?感谢。
答案 0 :(得分:1)
你没有。异步函数无法在函数返回时返回结果。您需要编写函数来完成闭包。然后调用它并在完成闭包中完成异步任务时传入要执行的代码。这个板上有几十个这样的例子。我写了一些示例项目来说明它。
检查此链接,例如: