javascript - 为什么我们被迫将 keepSynced 与 firebase 数据库一起使用?
问题描述
我正在使用带有 Firebase 实时数据库的本机反应。测试一个简单的聊天应用程序,我正在获取这样的聊天:
this.friendChatRef = this.db.ref('messages/' + this.chat_id + '/' + this.friend_id)
const friendChatRef = this.friendChatRef.limitToLast(9)
const fcrp = friendChatRef.once('value')
目标是在组件/视图挂载时始终从对话中获取最后 9 条消息。
问题是它将获取 9 个聊天,但无论如何它们都不是最新的。我可以添加 10 多条新消息,但在添加以下内容之前永远不会获取它们:
friendChatRef.keepSynced(true)
然后每次我访问聊天时,它都会获取最新的 9 条消息。
为什么我们必须使用 keepSynched?我认为持久性仅用于离线数据缓存,但每次创建 ref 并获取数据时,它总是检查缓存的数据是否已过时?
有没有办法保持持久性而不使用 keepSynched 来获取最新数据?
解决方案
推荐阅读
- microsoft-graph-api - 使用 Microsoft Graph beta getAllMessage api 时总是收到“未知错误”响应
- javascript - 为什么我只能取回最后一次“hasOwnProperty”调用的结果?
- javascript - 构建一个序列号数组
- python - 我想打印数组行但使用此代码我只打印最后一行
- c# - 在 UWP C# 中使用两个不同的字符串创建一个文本文件
- python - 使用熊猫将数据按id,var1分组为python中的连续日期
- c - 无法在 Windows 上的 Linux 子系统中创建消息队列
- docker - 如何为 nginx docker 设置 ssl
- python-3.x - 'Python manage.py runserver' "ValueError: Unable to configure handler 'mail_admins'".:
- azure - 无法通过 az cli 创建预定查询 - 条件如何解析?