拥有一个侦听器或四个侦听器来获取数据更好吗?

时间:2017-06-25 05:38:49

标签: firebase web firebase-realtime-database

这是关于firebase的性能问题。我希望专家会帮助我,我会尽量让它变得简单。

我正在构建一个Web HTML5纸牌游戏(非常类似于黑桃),桌面上有四个玩家,每个玩家必须出价(7到13之间),我打算给他们打电话:

  • PLAYER1
  • player2
  • player3
  • player4

因此,它们在Firebase实时数据库中看起来像那样:

enter image description here

据说现在, player3 已经从他身边出价了。出价应显示在:

  • PLAYER1
  • player2
  • player4

现在,我所做的是,对于每个玩家,我为剩下的玩家创建了三个听众,所以如果我们在 player4 的一边。代码与此类似(在我的代码中通过for循环完成,但为了简单起见,这里进行了更改):

var player1Ref = firebase.database().ref('/table/1/bid/player1');
player1Ref.on('value', function(snapshot) {
  if (snapshot.val()) window.alert("Player 1 has bid!"); 
});

var player2Ref = firebase.database().ref('/table/1/bid/player2');
player2Ref.on('value', function(snapshot) {
  if (snapshot.val()) window.alert("Player 2 has bid!"); 
});

var player3Ref = firebase.database().ref('/table/1/bid/player3');
player3Ref.on('value', function(snapshot) {
  if (snapshot.val()) window.alert("Player 3 has bid!"); 
});

现在,这对我来说真的很好。但我想知道这是否是最好的方法。另一种方法是在“ bid ”上创建一个参考间谍,但它可能会更糟,因为它会获取所有数据,而个别参考会获得更少的数据但是他们有更多的听众。

哪种方式最好?

0 个答案:

没有答案