【发布时间】:2016-05-31 18:38:08
【问题描述】:
我有一个图形编辑器,用户可以选择创建一个节点。它与所有当前选定的节点连接。在谷歌文档中,看起来一个节点(它的字符串标签)被映射到以逗号分隔的一组连接标签。所以,要添加一个节点,我首先创建一个空地图项
map.set(name, "");
然后,分别添加连接项
if (map.get(a) == null) throw new Error("node " + a + " does not exist") // fails here
if (map.get(b) == null) throw new Error("node " + b + " does not exist")
map.set(a, a_connections)
map.set(b, b_connections)
问题在于 map.get 检测到该节点尚未添加到地图中。这需要一些时间。即使在单个 JS 客户端 (read-my-writes inconsistent) 中,操作似乎也是非阻塞的。我应该如何处理它?
我在尝试建立两个连接时注意到了这种不一致(只是为了检测连接何时失败,因为可能会发生连接丢失并且我的所有编辑都不会传播到服务器,我想让用户知道这一点) .
【问题讨论】:
标签: google-drive-api google-drive-realtime-api collaborative-editing google-realtime-api