2015-09-30 61 views
2

on()應該從路徑或密鑰1流數據。但是,當我在我的路徑put數據,我沒有看到更新的流。從槍中獲取流數據

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

回答

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()也需要回撥。自動日誌記錄不再提供。