Firebase函数事务处理空值

时间:2017-10-11 18:21:24

标签: firebase firebase-realtime-database transactions google-cloud-functions

我正在尝试使用firebase函数事务,但是我看到没有官方方法来处理第一个缓存 null值...

我正在尝试执行以下操作:

var team = event.data.child('team').val();
  var tip = event.data.child('tip').val();
  console.log('tip: ' + tip + ' | team: ' +team)

  const pathToValue = admin.database().ref('users/' + event.params.userId + '/coins');
  const pathToTeamBetsValue = admin.database().ref('matches/' + event.params.matchId + '/opponents/' + team + "/bets");
  return pathToValue.transaction(function (coins) {
    if (coins) {
      if (coins >= tip) {
        pathToTeamBetsValue.transaction(function (teamBets) {
          if (teamBets) {
            teamBets = teamBets + tips;
            return teamBets;
          }

        });
        admin.database().ref('bets/' + event.params.matchId + '/' + event.params.userId + '/status').set('inProgress');
        coins = coins - tip;
      }
      else {
        console.warn(event.params.userId + " new bet on match " + event.params.matchId + " was not successfull! (not enough coin)")
        //return coins;
      }
    }
    return coins;
  })

到目前为止,你可以看到我从用户的硬币中得到了一些应该减少的价值...不幸的是,直到现在我只能得到用户的硬币值中设置为null的行为..请帮助

0 个答案:

没有答案