2017-08-19 6 views
0

のための私は、特定のデータを読み取るためにchild_added子イベントリスナーを使用して、別のノード方法の両方が完了した後、私は方法をオフに使用するにはどうすればよいネストされたchild_addedイベントリスナーウェブ

database.ref().child('States').on('child_added',function(snap){ 
    console.log('reached States'+ count); 
    count++; 
    distref=snap.child('Districts').ref.on('child_added',function(distsnap){ 
     console.log('reached dists'+ccount); 
     ccount++ 
     database.ref().child('DistrictNames').push().set({ 
      districtName : distsnap.val().districtName, 
     }); 


    }); 
}) 
  1. でそれらを格納しています
  2. distrefは、各参照の保存に使用される変数自体を上書きしますか? もしそうなら、以前のリスナーに何が起こり、どのようにそれらを切り離すのですか?

答えて

1

地区に新しいリスナーを付ける必要はありません。地区のデータは状態になっているため、すべてのデータは既に取得したスナップショットに含まれています。だから、

database.ref().child('States').on('child_added',function(snap){ 
    snap.child('Districts').forEach(function(distsnap){ 
     database.ref('DistrictNames').push({ 
      districtName : distsnap.val().districtName, 
     }); 
    }); 
})