- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在同一条路径上有 2 个“限制”查询。我首先加载“limit(1)”,然后加载“limit(50)”。
当我加载第二个查询时, child_ added 事件不会按顺序触发。相反,列表中的最后一项(limit(1) 返回的项)首先被触发,然后所有其他项按顺序触发,如下所示:
**Limit 1:**
new Firebase(PATH).limit(1).on('child_added', ...)
Message 5
**Limit 2:**
new Firebase(PATH).limit(50).on('child_added', ...)
Message 5
Message 1
Message 2
Message 3
Message 4
最佳答案
我知道这可能看起来很奇怪,但这实际上是预期的行为。
为了保证本地事件可以立即触发而无需先与服务器通信,Firebase 不保证 child_ added 事件将始终按排序顺序调用。
如果这令人困惑,请这样想:如果您根本没有互联网连接,并且您设置了一个限制(50),然后在该引用上调用 push(),您是否希望立即触发一个事件.但是,当您重新连接到服务器时,可能会发现在您推送之前服务器上还有其他项目,然后会在您添加的事件之后触发它们的事件。在您的示例中,问题与本地缓存的数据有关,而不是本地客户端写入的数据,但适用相同的原则。
有关为什么需要以这种方式工作的更详细示例,请想象 2 个客户端 A 和 B:
关于firebase - 为什么我的 Firebase 'child_added' 事件显示无序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15723278/
运行这两个代码应该有什么区别吗? ref.on('child_added',function(child,prev){ console.log(child.key+prev); } ref.off(
我有相当大的数据集,可能有数百万个对象,我需要触发 child_added 事件并获取最后添加的子项。但是,每当我启动服务时,它都会为数据集中的每个初始子项触发一次事件。 如何避免这种行为? 编辑:
来自 Firebase API: Child Added: This event will be triggered once for each initial child at this locat
我正在使用 Firebase 开发 HTML5 移动消息传递应用程序。我遇到了一个我无法解决的问题。该应用程序有多个 channel (聊天室)。当一条消息第一次添加到一个 channel 时,它按预
我的应用现在可以运行了,但我不确定它为什么运行... 我有一些类似的代码: var itemRef; listRef.on('child_added', function(childSnapshot,
我有一个大型数据集(约 10 万个条目),正在使用“child_added”事件进行订阅。使用 Node 7 和 firebase 3.6.1,这样做似乎会在触发单个 child_added 事件之前
我创建了这个处理程序来监视正在创建的新子项。这个小技巧阻止 child_added 事件在每次页面加载时触发我的代码。相反,它只会在实际添加内容时触发。 // Listen for new roo
我正在将 Firebase 和 Node 与 Redux 一起使用。我正在从一个键加载所有对象,如下所示。 firebaseDb.child('invites').on('child_added',
我必须从 Firebase 读取大量数据(约 3000 个子项和约 1.5 MB),如果我可以向用户显示下载的内容,那就太好了。因此,我决定使用 child_added 来显示它们中的每一个,但它并没
首先,我不确定是否存在真正的问题,但我想我会分享我的推理。 我使用 Firebase 作为数据库/后端,用于归档来自家里各种传感器的所有数据,并在托管中使用带有炫酷图形的 UI。因此,每 10 分钟我
我有一个 post 列表,我正在使用 .on('child_add') 获取它们,问题是我只想获取 post 是在添加项目时发布的,而不是在删除项目时发布的,但是,似乎 .on('child_adde
我有一个指向 privateMessages 的引用,如下所示: messagesRef: firebase.database().ref("privateMessages") 下面是 /privat
我想在推送时从 firebase 数据库获取最近添加的子节点,但根本不是数据库的最后一个子节点。 问题是典型的 child_added 事件无论如何都会获取最后一个子元素,即使是在第一次加载页面时也是
我有一个案例需要获取所有 event 对象。每个 event 对象都有一个属性 city_id,它是与所有 cities 列表中的单个 city 对象的关系键>. ... |- events | |
对于我的 Firebase 云功能,我正在尝试添加最后一个子项目,以便继续执行该项目的任务。我的结构是这样的: -Tips -TipsId -Safe
我正在使用 Angular2、ionic2 和 firebase 开发聊天应用程序。为了获得聊天,我尝试了以下方法 Controller 代码: displayAllMessage() { l
我有一个网站,用户可以通过选择菜单中的项目来下订单。 它的设置是为了让您按下菜单页面上的“下订单”按钮 http://www.waipahe.co.uk/takeaway/menu.html 然后已下
我有一个应用程序,我想在其中加载一些初始数据(使用 Firebase.once('value') 完成),然后在稍后的某个时候我想接收事件已添加到该 Firebase 引用的子节点的数量。 为此,我想
我在同一条路径上有 2 个“限制”查询。我首先加载“limit(1)”,然后加载“limit(50)”。 当我加载第二个查询时, child_ added 事件不会按顺序触发。相反,列表中的最后一项(
当用户“激活”其帐户后,尝试向用户显示所有用户数据(包括当前用户)时,我遇到了此问题。当监听列表中某个项目的 onValue 更改,然后在回调中监听该列表的 child_added 事件时,原始“监视
我是一名优秀的程序员,十分优秀!