我正试图摆脱“关闭地狱”,在Firestore调用中实现AwaitKit / PromiseKit。
我在下面的代码段(AwaitKit 5.0)中收到错误Cannot invoke 'await' with an argument list of type '(Void)'
func create(user: User) {
let userData = usersEngine.createNewUserDictionary(for: user)
try await(db.collection("users").document(user.ID).setData(userData))
}
AwaitKit文档在示例/用法上似乎很少。有没有人将它与Firestore配合使用和/或有我可以引用的代码示例?
预先感谢
答案 0 :(得分:0)
为什么不只尝试使用信号量?喜欢:
let semaphore = DispatchSemaphore(value: 0)
let queue = DispatchQueue.global()
queue.async {
// Some code here...
semaphore.signal()
}
let _ = semaphore.wait(timeout: .now() + 2.0)
queue.async {
// ...and here.
}
您可以了解方法here。