枪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 ...
});
在许多数据库中,您可以通过单个查询获取多个对象。由于网络延迟,有时获得单个响应而不是数百个小响应更快。
答案 0 :(得分:1)
@trex,
在表格上使用扩展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>
。