Firebase异步函数,什么在后台队列中,什么不在后台队列中

2023-12-31

可以说我有这个

// a bunch of code...  
FIRDatabase.database.reference.child("somechild").observeSingleEventOfType(.Value, withBlock{(snapshot) in   

//some code inside of the completion handler})

请不要过多地阅读代码片段来要求更多代码,我只需要一个简短的答案。当它说“一堆代码”时,假设它实际上是 MAIN 队列上的一些代码。现在,当我写下observeSingleEvent Firebase完成处理程序时,我对它的分析是这样的。

  1. observeSingleEvent 获取后台队列上的快照,以免阻塞主队列上的 UI。

  2. 一旦它获取快照,“in”之后的代码块现在就会返回到 MAIN 队列,因此可以将任何 UI 相关代码放入其中。

我的整个应用程序都是基于这个推理,所以如果我不正确,请告诉我到底发生了什么。


这确实是 Firebase 数据库客户端的工作方式:所有网络和磁盘 I/O 都会发生off主线程,然后调用您的回调/块on主线程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase异步函数,什么在后台队列中,什么不在后台队列中 的相关文章

随机推荐