我想澄清我对 unset() 或更确切地说是我观察到的行为的理解。我知道如果我调用 unset() 它会用 null 替换值(根据 Gun 中的删除数据)。所以这就是我想确认的,假设你调用了 unset():
1) 当您调用 once() 或 on() 时,它会为未设置的节点返回 null()
2) 当你调用 Gun.obj.empty(table, '_') 它返回 false
我还尝试将我的 set 的值设置为 null 例如
get('mylist').put(null)
哪个有效!我想清空我的集合。但是,下次我添加一个新节点时,我的原始集合以及所有原始节点都被恢复了。我最终写了以下内容来清空我的集合
this.context.once().map().once(data => {
let key = data["_"]["#"];
let node = this.context.get(key);
if (node) {
this.context.unset(node);
}
});