热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Firebase观察者实际上做了什么?

如何解决《Firebase观察者实际上做了什么?》经验,为你挑选了1个好方法。

假设在启动应用程序时创建此观察者

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

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

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

Frank van Pu.. 6

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

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



1> Frank van Pu..:

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

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


推荐阅读
author-avatar
为爱进地狱天堂_954
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有