我写了一个运行良好的云函数。
有时,同一用户会多次执行此函数(我确保客户端 Android 应用程序只请求一个请求)。
经过一些调试后,我注意到如果连接不良就会出现此问题。我可能是正确的,也可能不正确。
如何克服这样的问题?
正如评论中所述,我也不相信客户端 SDK 会在连接不良时重复 Cloud Function 调用。他们的预期行为是在客户端抛出与网络相关的异常,并且不再调用它。如果云函数运行成功,客户端却无法取回结果,就会出现问题。
我可以想到以下解决方案,但没有更多关于云功能本身的细节:
尝试使函数幂等- 意味着即使运行两次,假设输入/参数相同,最终结果也是相同的。
缓存结果并手动限制该功能- 这比较复杂,只有在网络问题仍然存在并且您无法消除该功能的副作用时才需要。您必须创建另一个类来缓存函数的结果(可能由参数键入)并返回相同的结果,没有计算和副作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)