2015-09-30 2 views

ответ

2

.on() является асинхронной функции, поэтому вам необходимо обновить свой код, чтобы выглядеть следующим образом:

var myData = Gun('https://gunjs.herokuapp.com/gun') 
      .get('example/demo/set'); 
myData.on(function(data){ 
    console.log("update:", data); 
}); 
myData.put({hello:'world'}); 

Надежда, что помогает!


Если вы новичок в программировании, «анонимные функции» (зачастую называемый обратный вызов) в приведенном выше коде может быть несколько запутанным. Приведенный выше код также может быть переписан так, что имеет точно такое же поведение:

var myData = Gun('https://gunjs.herokuapp.com/gun') 
      .get('example/demo/set'); 

var cb = function(data){ 
    console.log("update:", data); 
}; 

myData.on(cb); 

myData.put({hello:'world'}); 

Для целей отладки, есть также функция .val() удобства, которые будут автоматически регистрировать данные для вас:

var myData = Gun('https://gunjs.herokuapp.com/gun') 
      .get('example/demo/set'); 
myData.on().val() 
myData.put({hello:'world'}); 

Однако он предназначен для от целей, а не для потоковой передачи. Как примечание, вы можете передать .val(function(data){}) обратный вызов, который переопределит регистратор удобства по умолчанию.

1

Обновление: поскольку Gun v0.391 с использованием val() также требует обратного вызова. Автоматическое ведение журнала больше не предоставляется.

Смежные вопросы