在云开发数据库文档中其实有一些事务处理的指引和demo,不过基本都是await风格的,只能在异步函数里面使用,有的时候希望用『同步函数+callback』的方式代替await来实现更好的并发执行能力,那就需要用promise的编程风格了,写了个demo:
代码中刻意使用了500内的随机整数来当id来制造随机的id冲突以随机初发事务的失败。
其实如果能用Promise.all的化代码还能更好看些
但是云开发数据库的sdk不支持这么玩。Promise.all里的数据库操作一多起来,就有一定的概率触发这样的错误:
TcbError: [ResourceUnavailable.TransactionBusy] Transaction is busy.
暂时只能用上面的一步一步then的方式来执行了,或者用网上流行的Array.reduce的方式来让Promise排队执行。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。