gpt4 book ai didi

firebase - 有没有办法知道 Child Added 在什么上下文中被调用?特别是页面加载与其他事件

转载 作者:行者123 更新时间:2023-12-02 18:54:36 25 4
gpt4 key购买 nike

这是我的场景。当通过浏览器事件页面加载后添加子项时,我想在标题中指出它。但在页面加载时,添加的子项也会被调用。

如何区分添加的初始子项与实际添加的新条目。

谢谢蒂姆

最佳答案

Firebase 故意不区分“初始”数据和"new"数据。在大多数情况下,这允许更简单的开发,因为您只需为数据编写一组逻辑,而不是同时处理初始数据情况和新数据情况。

我可以理解在这种情况下您希望如何进行区分。我不确定你到底在做什么,但如果你正在构建一个聊天应用程序,你可能希望根据最新消息的时间戳来闪烁标题,而不是根据它是否是"new"消息。如果在页面加载之前发送了一条消息,这将允许标题在页面加载时闪烁,这可能是可取的。在其他一些情况下,您可能实际上想要闪烁未读数据的标题,并且您可能需要考虑将子项标记为“已读”,并仅针对未显示“已读”位的子项闪烁标题。这将使事情能够在页面刷新之间无缝工作。

如果您绝对需要知道"new"数据何时出现,您可以尝试使用“once”和“value”事件类型来获取数据,然后使用“on”和 startAt 查询和“child_added” "之后显示新数据的事件类型。它看起来像这样:

var data = new Firebase(...);
data.once("value", function(d) {
//TODO: display initial state...

data.startAt(null, <last id in snapshot>).on("child_added", function(newMessSnapshot) {
//TODO: render new child and flash title bar.
}
}

或者,如果您想以真正简单的方式做到这一点,您可以设置一个计时器,这样标题就不会在页面加载的前 N ​​秒内收到的任何消息闪烁。

希望有帮助!

关于firebase - 有没有办法知道 Child Added 在什么上下文中被调用?特别是页面加载与其他事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12850789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com