如何在GunDB节点上重新启动订阅

时间:2019-05-18 11:53:40

标签: gun gundb

我有一些测试代码:

const items = gun.get("items")
items.open(items => console.log("items:", items))

const item = items.set({ name: "Alice" })

console.log("start subscription")
item.on(item => console.log("item: ", item))

setTimeout(() => {
  console.log("stop subscription")
  item.off()

  setTimeout(() => {
    console.log("restart subscription?")
    item.on(item => console.log("item:", item))

    setTimeout(() => {
      item.get("name").put("Bob")
    }, 1000)
  }, 1000)
}, 1000)

3秒后,输出为:

start subscription
item: {_: {#: "TaoY0g8U7C1zAp5A6rHMy", >: {name: 1558179523214}}, name: "Alice"}
items: {TaoY0g8U7C1zAp5A6rHMy: {name: "Alice"}}
stop subscription
restart subscription?

似乎off API削弱了与该节点相关的所有其他订阅...包括上层节点上的open的全深度订阅。

我的Web应用程序需要重新订阅现有节点。有什么解决方法吗?我正在使用gun@0.2019.515

0 个答案:

没有答案