我正在开发一个应用程序,在调用Google表格API时会出现竞争条件。这可能是由于多个单独的用户执行具有显着不同参数的相同用例。来自这些用户的所有请求都是单独和异步处理的。
为简单起见,我将这些调用称为呼叫A并呼叫B.两者都是完全不同的异步请求。两次调用中写入的值将完全不同,因此读取调用中的输出将返回完全不同的值。
正常情况:
同时通话:
当两个动作同时执行时,可能发生一个条件,即呼叫B的写入可能与呼叫A的读取竞争。这导致在读取呼叫A时输出格式错误,因为使用了B的参数。
显然我应该通过使用队列机制来改进应用程序设计,但是我希望多个用户遇到这个问题并且API有解决这个问题的方法。
我一直在使用API文档,除了拥有多个重复的工作表并在我的应用程序中随机存储ID之外,无法找到对某些案例的支持。