0

有人可以解释一下在以下情况下会发生什么:

我们有 2 个云代码功能。

  • FunctionOne 使用 Promise 执行一些异步操作,并修改 A 类的实例。
  • FunctionTwo 删除类 A 的实例

调用 FunctionTwo 并删除类型 A 的实例,同时通过调用 FunctionOne 修改和保存同一个实例,会发生什么情况?(例如,这些呼叫可能来自 2 个不同的移动设备)。

4

1 回答 1

0

据我所知,解析模型上没有交易。对于并发操作,我使用了一个不安全的解决方法,放置一个微不足道的随机延迟,将一个像'busy'这样的字段设置为true,最后将其恢复为false。这可以减少问题,但当然不能解决问题。

在这种情况下,它可能会返回一个错误,例如“找不到要更新的对象”,因为您有一个带有一些脏字段要保存的对象,但该对象不再存在于数据库中,因为它刚刚被您的 FunctionTwo 删除。也许,如果在您运行函数 FunctionOne 时出现该错误,您可以为该类表生成一个新行实例,并将其再次保存为新行(这将生成一个新行,其中包含您的字段但具有新的不同 objectId当然 )

于 2014-08-24T17:10:30.650 回答