【问题标题】:Firebase transactions dataFirebase 交易数据
【发布时间】:2014-01-21 20:34:18
【问题描述】:

我正在使用 firebase 进行游戏。处理事务,我收到“对象没有方法 'val'”错误。

令人讨厌的是,他们的文档只有 currentvalue+1 示例而不是更复杂的示例。

在游戏中,每个玩家都有 x 分钟的时间来提交分数。自然会同时提交一些分数。

这是我的脚本

var myScore=15;
var scoreRef = new Firebase('https://site.firebaseIO.com/arcade/games/keys/'+key+'/bonsai/'+bonsaiGameID+'/');
scoreRef.transaction(function(snapshot) {
    var leaderScore=snapshot.val().score;
    var leaderID=snapshot.val().leaderID; 
    if(myscore>leaderScore){
        scoreRef.push({data}) 
})

如果我的分数更高,那么第一次获得当前分数。

【问题讨论】:

  • 修复对象没有val问题
  • 我认为快照是根据firebase.com/docs/transactions.html的值“.transaction(”的使用方式不同于“.once(”
  • 是的,我看到了,让我换一种方式试试。我以为他们会在排行榜示例中进行交易
  • @dandavis:您可能希望提供您的评论作为答案。否则,这个问题很可能会作为“简单的印刷错误”而被关闭。
  • 只要老兄得到帮助我就可以了,这不需要为子孙后代...

标签: javascript firebase


【解决方案1】:

一个事务传递的不是快照,而是值本身。该值可以是原语(布尔值、字符串或数字),但也可以是对象。它基本上是 snapshot.val() 的结果,而不是快照本身。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-17
    • 2019-02-01
    • 1970-01-01
    • 2013-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多