我正在使用 react-native-firebase 开发一个 react-native 应用程序,并且我正在尝试实现一个事务。这是我的代码:
const roomRef = firebase.database().ref('rooms').child(roomKey)
return roomRef.transaction(function(room) {
console.log('TRANSACTION STARTED')
if (room && !room.joiner) {
room.joiner = userId
}
return room
}, function(error, committed, snap) {
if (error) console.log(error)
if (committed) console.log('COMMITTED')
console.log(snap.val())
})
问题是这个事务函数似乎没有被执行。我确定以前的代码运行了,但是数据库中没有更新,没有 console.log,什么也没有。任何人都可以帮助我吗?
编辑
我注意到无论条件如何,我的应用程序中都没有交易。在云功能中,我使用的是管理 SDK,在这种情况下事务可以工作。