我正在尝试将更传统的基于ember数据的应用程序转换为使用websockets来保持多个实例同步的实时应用程序。
我的第一次尝试涉及将所有更新的记录发送回已访问记录的所有打开会话,以便他们都可以拥有最新的副本。这包括启动更改的会话。这意味着在我在客户端中调用record.save()
之后,我从REST API和websocket中获取更新的副本。 websocket的客户端只需调用store.pushPayload(data)
来更新商店。
这会导致问题,因为当时记录可能是inFlight
,我收到错误:
Attempted to handle event `pushedData` on [...] while in state root.deleted.inFlight.
我有几点想法:
pushPayload
时,受影响的记录不在飞行中。 这两个看起来都相当复杂,我希望有一种既定方法可以让多个Ember应用程序保持最新状态。