Как получить несколько узлов по одному запросу?

1

пушка 0.8.8

Можно ли получить несколько узлов по запросу одного запроса?

Например, что-то вроде этого

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

Во многих базах данных вы можете получить несколько объектов по одному запросу. Из-за задержки в сети иногда бывает быстрее получить один ответ, а не сотни мелких.

  • 0
    не совсем, но вы могли бы легко написать функцию для этого ... Все действительно зависит от логики цепочки, которую вы хотите достичь.
  • 0
    @Salketer Вы имеете в виду функцию, которая производит несколько запросов? Определенно, это может быть сделано. То, что я хочу, это один запрос, который дает мне все узлы по их именам.
Показать ещё 1 комментарий
Теги:
gun

1 ответ

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') вы должны включить его с require('lib/open.js') или <script src="gun/lib/open.js"></script>.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню