gpt4 book ai didi

JavaScript 轮询 Firebase 以检查数据更改

转载 作者:行者123 更新时间:2023-12-03 02:42:58 25 4
gpt4 key购买 nike

我在尝试使用 JavaScript 监听 Firebase 中的更改来进行实时刷新时遇到了一些问题。我尝试做的是一个聊天系统。与另一个用户开始新的聊天后,我将加载两个用户之间的所有聊天。

code

我的 Firebase 查询:

code

问题是上面的代码不能“实时”工作。实时,就像用户 A 向 B 发送消息一样,无需手动刷新页面重新加载聊天记录,用户 B 应该能够看到用户 A 的最新消息。

只有当用户 B 手动刷新页面以再次从 Firebase 查询时,上述代码才有效。

是否有类似从 JavaScript 轮询到 Firebase 来检查更改的功能?

谢谢!

最佳答案

使用on value事件自动获取新到达的消息。

问题是on value将返回所有消息值而不是新的值。

您需要将时间戳与消息数据一起存储,

ref.on('value', function(snapshot){

//request data from firebase that having message-timestamp greater than last message-timestamp in previous `on-value` event

});`

要获取特定的消息,您需要使用firebase查询

   var ref= firebase.database().ref("users/msgtimestamp");
var query = ref.orderByChild('msgtimestamp'); //write query-logic to get only new message
query.on('value', function(snapshot) {

});

I hope my answer will help you

关于JavaScript 轮询 Firebase 以检查数据更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48239934/

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