如何只在孩子加入时听!没有读取所有数据

时间:2016-11-25 16:42:36

标签: javascript firebase firebase-realtime-database

我有这段代码

var dataRef = firebase.database().ref('offers/');

dataRef.once('value').then(function (snapShoot) {

snapShoot.forEach(function (datum) {

    keys = datum.key;

    var newdataRef = firebase.database().ref('offers/' + keys + '/users');

    newdataRef.on('child_added', function (dataSnap) {

        Notify("SOME TEXT");

    })

   })
})`

我使用on('child_added')在此数据对象here的用户点添加了一个侦听器 并且不幸的是,on('child_added')正在为第一次执行整个数据而工作,并且表现得像on('value')

我怎样才能让它真正只听取这个节点的子项添加

1 个答案:

答案 0 :(得分:1)

我使用了一个标志来解决这个问题

var dataRef = firebase.database().ref('offers/'); 

var flag = false;

dataRef.once('value').then(function (snapShoot) {

snapShoot.forEach(function (datum) {

keys = datum.key;

var newdataRef = firebase.database().ref('offers/' + keys + '/users');

newdataRef.on('child_added', function (dataSnap) {

 if (flag) {

    Notify("SOME TEXT");
  }

})
flag = true ;

}) 
})