【问题标题】:What does a Firebase observer actually do?Firebase 观察者实际上做了什么?
【发布时间】:2017-03-16 19:49:03
【问题描述】:

假设这个观察者是在应用启动时创建的

ref.observe(.value, with: { (snapshot) in
    // do something
})

幕后发生了什么?应用程序如何知道值何时发生变化?我能想象的就是这个

while (true) {
    ref.observeSingleEvent(of: .value, with: { (snapshot) in
        // if value is different do something
    })
}

【问题讨论】:

  • 你如何定义“成本”,如果函数从未被调用,为什么还要包含它?您可能想用一个用例和更多数据(代码)来扩展您的问题,否则它可能会因为含糊不清而被关闭。
  • 感谢杰伊的评论。我想知道 Firebase 观察者是如何工作的。观察函数背后的代码是什么?

标签: ios swift firebase firebase-realtime-database


【解决方案1】:

Firebase 客户端与其后端服务器保持打开的套接字连接。当您附加观察者时,它会将该信息发送到服务器,然后服务器将跟踪观察到的位置。服务器还发回该位置的当前值(或缺少的值)。客户端将立即使用该值触发/调用您的完成块。

在此初始流程之后,只要位置的值发生更改,Firebase 服务器就会通过打开的套接字向客户端发送更新。当客户端收到这样的更新时,它会使用更新的值(或缺少更新的值)再次调用完成块。

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 2013-06-02
    • 2020-11-21
    • 2015-02-26
    • 2017-06-29
    • 2013-06-13
    • 2021-10-25
    • 2011-08-12
    • 1970-01-01
    相关资源
    最近更新 更多