2
所以我一直在寻找,有很多人在做Firebase交易,他们都不一样。我想要做的只是将1加到柜台上,而iv完美地工作,但我想检查一下我是否正确地做,因为我的方式比他们的文档简单得多。Firebase交易 - 这是正确的吗?
干杯提前! :)
database.child("stories").child(articleKey).runTransactionBlock({ (currentData:FIRMutableData) -> FIRTransactionResult in
if var post = currentData.value as? [String: AnyObject] {
var likeCount = post["storyLikes"] as? Int ?? 0
likeCount += 1
post["storyLikes"] = likeCount as AnyObject?
currentData.value = post
return FIRTransactionResult.success(withValue: currentData)
}
//Abort like if there was a problem
return FIRTransactionResult.abort()
})
谢谢!是的,这是我发布的不同逻辑,哎呀!当文章被创建时,它将默认值counter设置为0,这样它就不会中止事务。我确实看到有一个我可以使用的完成块,但如果我需要它,我仍然在折腾!但是谢谢你! – Eli