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