1

枪 0.8.8

是否可以通过单个 get 请求获取多个节点?

例如,像这样

gun.mget([ "nodeNameA", "nodeNameB" ], function(value) 
  console.log(value);
  /*
    {
      "nodeNameA": { my: "Special", variable: 123 },
      "nodeNameB": { the: "Glory", answer: 42 }
    }
  */
  // ... do something ...
});

在许多数据库中,您可以通过单个查询获取多个对象。由于网络延迟,有时获得单个响应而不是数百个小的响应更快。

4

1 回答 1

1

@特雷克斯,

在表上使用扩展 API.open(cb)可能是您想要的。

这是一个例子:

var gun = Gun();

gun.get('nodeNameA').put({ my: "Special", variable: 123 });
gun.get('table').set(gun.get('nodeNameA'));


gun.get('nodeNameB').put({ the: "Glory", answer: 42 });
gun.get('table').set(gun.get('nodeNameB'));


gun.get('table').open(function(data, key){
  console.log("update:", data);
  /*
    {
      "nodeNameA": { my: "Special", variable: 123 },
      "nodeNameB": { the: "Glory", answer: 42 }
    }
  */
});

在这里自己玩:http: //jsbin.com/ditohivovo/edit ?js,console !

文档可在此处获得:

https://github.com/amark/gun/wiki/API#open

注意:您必须将其包含在浏览器中require('lib/open.js')<script src="gun/lib/open.js"></script>浏览器中。

于 2017-10-30T16:03:29.157 回答