将 async/await (Swift 5.5) 与 firebase 实时数据库一起使用

Posted

技术标签:

【中文标题】将 async/await (Swift 5.5) 与 firebase 实时数据库一起使用【英文标题】:Using async/await (Swift 5.5) with firebase Realtime Databse 【发布时间】:2022-01-03 17:50:27 【问题描述】:

我使用 firebase 的实时数据库从我的应用程序中进行异步数据库查询。 现在 ios 15 为我们提供了 Swift 5.5,我很想使用 async/await 来执行这些查询,而不是传递完成闭包。

我知道我可以使用 await withCheckedThrowingContinuation 从现有的 firebase 函数构建异步版本。但是异步版本已经存在了吗?是在 firebase 中还是由 Xcode 自动合成?

【问题讨论】:

【参考方案1】:

许多实时数据库异步 API 都可以通过 Xcode 的自动合成获得。

它们将显示在 Xcode 自动完成中。

https://github.com/firebase/firebase-ios-sdk/blob/master/FirebaseDatabase/Tests/Unit/Swift/DatabaseAPITests.swift 有几个示例

【讨论】:

以上是关于将 async/await (Swift 5.5) 与 firebase 实时数据库一起使用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 5.5 中将 async/await 与 SwiftUI 一起使用?

将 Alamofire 完成处理程序转换为 Async/Await |斯威夫特 5.5,*

Swift 5.5 async let - 错误:表达式为“异步”但未标记为“等待”

引入结构化并发,Swift 5.5 发布!

Swift新async/await并发模型中子任务取消不能被其它子任务感知的原因及解决

Swift新async/await并发模型中子任务取消不能被其它子任务感知的原因及解决