1

我想知道是否有一种方法可以观察整个图表的变化,而不是订阅一个特定节点上的变化。我无法在 gun.eco/docs 上阅读 Docs/Howtos 找到答案

假设您构建了一个实时思维导图应用程序,因此基本上是一个图形/树结构。

  1. 如果我在某个地方添加一个新节点到图表中,我想更新我的 UI
  2. 如果我删除一个节点或整个子树......

2. 场景是一个普遍关注的问题:

如何删除多个节点以及所有相关边?

4

1 回答 1

3

复制自与 Gun Community 的对话:

第一个答案:

要回答第一个问题,您可以拥有一个订阅 unsing gun.get(node).on(callback, changesOnlyFlag) 的索引节点。新节点将触发更新功能,您将在其中检查该节点可能与您的应用程序相关的内容。

要回答第二个问题,去中心化系统中的删除很难。(谷歌墓碑问题)在 Gun 中,删除是通过将 null 放在一个对象上来处理的,这会切断该项目的所有边,并且从遍历的角度来看它变得无法访问。(尽管您仍然可以通过它们的灵魂(节点的 UUID)或通过索引节点获取子节点,您也可以默认添加所有子节点)

第二个答案:

https://gun.eco/docs/API#open描述了打开整个图形可能需要的附加模块。可用于跟踪更改,只需对代码稍作修改。

于 2018-08-30T16:05:22.133 回答