当按下此按钮时,它需要运行三次数据库更新。到目前为止,它完成了其中的两个更新。这就是它所产生的(黑色),也是我试图实现的(蓝色)。请演示如何使所有三个更新生效。我认为也许最后一次更新是在失败的更新之前运行的,它有一个return语句,return语句结束了整个函数。
<Button
title='Up'
color='green'
onPress={() => recordUpVote(this.state.currentUser, 'AMZN')}
/>
function recordUpVote(user, instr){
var today = moment().format('MMDDYYYY');
firebase.database().ref('/votes/' +today+ '/' +instr+ '/voters').push({
user: user.id // THIS IS NOT EXECUTING... or is being overwritten..?
}).then(()=>{
firebase.database().ref('/users/'+user.uid+ '/votes/' + today+ '/').push({
instrument: instr,
vote: 'up'
}).then(()=>{
firebase.database().ref('/votes/' +today+ '/' +instr+ '/upVotes').transaction(function(upVotes) {
return upVotes + 1
});
});
});
} // end recordUpVote
https://stackoverflow.com/questions/50752707
复制相似问题