我正在尝试创建一个云功能,一次执行两个事务。
我尝试执行以下操作,仅执行第一个事务...当添加第二个事务时,它不起作用,也没有错误。
功能:
exports.followIncrement = functions.database
.ref("/followers/{userId}").onCreate((snapshot, context) => {
const userId = context.params.userId;
const currentUserUid = Object.keys(snapshot.val())[0];
console.log(currentUserUid);
console.log(userId);
var followerCount =
admin.database().ref('users').child(userId).child('followerCount')
var followingCount =
admin.database().ref('users').child(currentUserUid).child('followingCount')
return followerCount.transaction((currentCount) => {
return currentCount || 0 + 1;
})
.then(() => {
return followingCount.transaction((currentCount) => {
return currentCount || 0 + 1;
})
})
})
我感谢所有反馈! 干杯。
答案 0 :(得分:0)
如果您执行以下操作会怎样:
return followerCount.transaction((currentCount) => {
return currentCount || 0 + 1;
})
.then((count) => {
if (count.committed) {
return followingCount.transaction((currentCount) => {
return currentCount || 0 + 1;
})
}
})