Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过单个请求获得多个节点?_Javascript_Gun - Fatal编程技术网

Javascript 如何通过单个请求获得多个节点?

Javascript 如何通过单个请求获得多个节点?,javascript,gun,Javascript,Gun,枪0.8.8 是否可以通过单个get请求获取多个节点 比如像这样的 gun.mget([ "nodeNameA", "nodeNameB" ], function(value) console.log(value); /* { "nodeNameA": { my: "Special", variable: 123 }, "nodeNameB": { the: "Glory", answer: 42 } } */ // ... do som

枪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 ...
});
在许多数据库中,您可以通过一个查询获得多个对象。由于网络延迟,有时获得单个响应比获得数百个小响应更快。

@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 }
    }
  */
});
你自己在这里玩吧:

文档可从以下位置获得:

注意:您必须在浏览器中包含
require('lib/open.js')
的内容


不是,但是你可以很容易地为它写一个函数。。。这一切都取决于您想要实现的链接逻辑。@Salketer是指一个产生多个请求的函数吗?当然,可以做到。我想要的是一个单独的请求,它会根据节点的名称为我提供所有节点。请用您试图实现的内容更新您的问题。。。为什么一个请求是必须的?您是否正在尝试保存往返,尝试简化异步回调嵌套?