2017-02-14 30 views
0

我想要得到的childsnapshot的所有值到一個變量和值傳遞給這應該創建一個圖形功能之前,值, 我不能夠收集到所有的值而過,我曾嘗試回調,但無法實現它正確如何從childsnapshots所有值到一個變量傳遞的變量的函數

這裏是代碼片段::

dbref 
     .once("value") 
      .then 
       (
        function(snapshot) 
         { 
         snapshot.forEach 
          (
          function(childsnapshot) 
          { 
          var data = childsnapshot.val(); 

          var Nameval=data.Name; 

          if(Nameval==namekey) 
          { 
          console.log("Success"); 

          Ikey=childsnapshot.key(); 

var dxRef=new Firebase("https://apraisalstaging.firebaseio.com/EmployeeDB/EApraise/"+Ikey); 

          dxRef 
          .once("value") 
           .then 
           (
            function(snapshot) 
             { 

              snapshot.forEach 
              (

               function(childsnapshot) 
               { 

                var data=childsnapshot.val(); 
                var Rtdate=data.Dateval; 
                console.log(Rtdate); 


               } 
+0

@Frank麪包車Puffelen請看看 –

回答

0

這裏有更多的人則只是弗蘭克......有時候。我已經調整你的代碼一點點幫我找出您的問題,我強烈建議你看看承諾是如何工作的。沒有太多去這裏的是我能想出:

dbref 
    .once("value") 
    .then(function (snapshot) { 
     var promises = []; 
     snapshot.forEach(function (childsnapshot) { 
      var data = childsnapshot.val(); 
      var Nameval = data.Name; 

      if (Nameval == namekey) { 
       console.log("Success"); 

       Ikey = childsnapshot.key(); 

       var dxRef = new Firebase("https://apraisalstaging.firebaseio.com/EmployeeDB/EApraise/" + Ikey); 

       promises.push(dxRef 
        .once("value") 
        .then(function (snapshot) { 
         var returnData = []; 
         snapshot.forEach(function (childsnapshot) { 
          var data = childsnapshot.val(); 
          var Rtdate = data.Dateval; 
          console.log(Rtdate); 
          returnData.push(Rtdate); 
         }); 
         return returnData; 
        })); 
      } 
     }); 
     return Promise.all(promises); 
    }).then(function(result){ 
     console.log(result); 
    }); 

這將創建一個解決一旦所有的子請求承諾的陣列已經解決了,然後就可以看到的console.log (結果)在底部。這就是你要調用你的函數的地方。

+0

冉代碼得到了以下錯誤未捕獲(在承諾)的ReferenceError:$ Q不是在testcallback.html定義:65 (匿名)@ testcallback.html:65 testcallback。 HTML:58 2017年10月2日 testcallback.html:59未捕獲的(以諾)類型錯誤:data.push不是一個函數 –

+0

你可以使用普通的JavaScript –

+0

嘿,我更新爲使用vanially JS也固定一個小bug。 –

相關問題