Firebase函数事务句柄空值
我正在尝试使用firebase函数事务,但正如我看到的,没有正式的方法来处理第一个缓存的空值 我正在努力做到以下几点:Firebase函数事务句柄空值,firebase,firebase-realtime-database,transactions,google-cloud-functions,Firebase,Firebase Realtime Database,Transactions,Google Cloud Functions,我正在尝试使用firebase函数事务,但正如我看到的,没有正式的方法来处理第一个缓存的空值 我正在努力做到以下几点: 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/' +
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;
})
就你所见,我从用户的硬币中得到了一些应该减少的值。。。不幸的是,到目前为止,我只能得到将用户硬币值设置为空的行为。。请帮助。然后(…)在电话的最后似乎解决了它,但我仍然在寻找官方的方式与。然后(…)在电话的最后似乎解决了它,但我仍然在寻找正式的方式