我希望能够将数据写入我的Firebase实时数据库并让它触发我的云功能和我的客户端侦听器。在我的应用程序中,用户可以尝试将一些数据写入数据库。使用云功能我传感其中一些更改,并将最终输出写入数据库中的其他位置。
在方案A中,客户端假设他们的数据被完全接受。如果客户选择上传一组新数据,但云功能拒绝旧集中的所有更改,则在调整后的集合中写入最终位置的数据时不会更改。这导致在客户端上没有触发事件侦听器,因此它不知道其数据已被完全处理。这将导致客户端和数据库不同步,因为客户端原始假设是错误的并且它没有收到更新的数据集。
在方案B中,客户端等待接收新数据集。如果事情与场景A中的情况相同,则客户端可以无限期地等待新数据。如果显示器没有自动更新,并且我将在下面解释原因,则用户将无限期地点击刷新按钮,想知道服务器是否滞后或连接是否有问题。
客户端使用切换列表来选择上载哪些数据。如果我要更改哪些切换存在,哪些切换目前已切换,则在接收到新数据时,可能会围绕用户,撤消其工作或重新排列列表。客户端必须等待服务器或取得成功的原因是它会轮询服务器一次以填充显示器,而在用户进行选择时,数据会保证在某些时候过时。
如果我可以让我的听众在自己编写相同数据时触发,使用方案A我可以通知用户他们的数据已经不同步并且他们应该刷新它。
我对任何建议都持开放态度,但我对此问题的理解是正确的。我不知道该如何接近它。