以下引用摘自谷歌开发者博客。https://developers.googleblog.com/2017/08/hamilton-app-takes-stage.html
例如,当有人进入彩票时,应用程序首先将数据写入实时数据库中的特定节点,数据库的安全规则有助于确保数据的有效性。写入触发云函数,该函数运行业务逻辑并将其结果存储到实时数据库中的新节点。然后将新写入的结果数据自动推送到应用程序。
我知道他们没有提出请求并期待请求,而是遵循以下模式:
- 写入实时数据库
- 写触发动作
- 动作触发一些逻辑和功能
- 该函数将数据写回数据库
- 应用程序上的侦听器收到有关写入 4 的数据的通知。
- 应用程序更新 UI 或采取任何行动。
当有人参加比赛时,汉密尔顿应用程序遵循这种模式。我对这种模式的主要担忧是,如果连接处于脱机状态,我们将不会得到结果,同时也不会出现错误。更改将在本地更新,firebase 将在下次有连接时更新,这会使事情变得混乱,因为用户期待结果。
我想知道是否有一种简单的方法或模式可以遵循,所以我们会得到一个错误并显示它。
我想到的第一个解决方案是以某种方式在保存操作中添加时间。如果在 x 秒内未在实时数据库上完成保存,则会显示错误。同时,我们还需要对回复进行超时。因此,如果我们在 x 秒内没有得到回复,我们会向用户显示一些内容。
我希望我不会感到困惑,因为我不太了解这种模式。我为标题而苦苦挣扎,所以如果有人可以改进它,请成为我的客人。