在Swift AwaitKit中使用Firestore调用?

时间:2018-06-27 00:24:13

标签: swift asynchronous google-cloud-firestore

我正试图摆脱“关闭地狱”,在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配合使用和/或有我可以引用的代码示例?

预先感谢

1 个答案:

答案 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