我已经让 Gun 在几个客户端之间同步。一方面,我使用map().on()订阅数据。另一方面,我使用map().unset()删除了一个项目。我的问题是,当我删除一个项目时,另一个客户端上的更改会弹出为null - 我似乎没有任何其他信息。那么是否可以让我的客户与更改保持同步,即在这种情况下从我在屏幕上显示的列表中删除该项目?我不知道 null 指的是哪个项目。
谢谢!
我已经让 Gun 在几个客户端之间同步。一方面,我使用map().on()订阅数据。另一方面,我使用map().unset()删除了一个项目。我的问题是,当我删除一个项目时,另一个客户端上的更改会弹出为null - 我似乎没有任何其他信息。那么是否可以让我的客户与更改保持同步,即在这种情况下从我在屏幕上显示的列表中删除该项目?我不知道 null 指的是哪个项目。
谢谢!
@peter 好问题!两件事情:
作为null
删除内容的背景,您可能已经看到了https://gun.eco/docs/Delete。
要回答你的问题,.on
回调有多个参数,所以.on(function(data, key
是你想要的。数据将是null
并且您知道它基于哪个项目key
。在此处查看 API的其余部分!
专业提示:如果
gun.get('list').map().on((data, key) => ...)
抓住所有物品,那么gun.get('list').get(key).on(data => ...)
如何从桌子上只抓住一件物品!