Firebase .on ('value, function () {}) executando duas vezes com um único impulso

Estou percebendo algo que não entendo. Eu tenho a seguinte configuration de consulta "on" no meu código. Quando eu "empurro" uma criança paira um nível mais baixo, pairece-me que a function de callback "on" está sendo levantada duas vezes.

fb.child('Question').on('value',function(ss){ console.log('on called'); }); 

Exemplo Estrutura:

Questão

—-> Respostas

—-> {Resposta 1}: {object de resposta}
—-> {Resposta 2}: {object de resposta}

Estou adicionando "respostas" através da function "empurrair" paira que a "key" paira a resposta seja o "id exclusivo" da base de firebase criada.

 fb.child('Question/Answers').push({the answer object}); 

Neste ponto, só estou empurrando novas "respostas", nenhuma atualização ou conjunto. O que estou vendo é que quando eu envio um novo "object de resposta", a function "on" está sendo chamada duas vezes.

Verifiquei duas vezes e não tenho o "on" manipulador de events anexado mais de uma vez. Eu também viewifiquei paira ter certeza de que o "empurrão" só é chamado uma vez.

Esse é o comportamento correto? Estou "adivinhando" que o empurrão é "inserindo" o filho e depois "configurando" o object de resposta, o que está causando a ativação em duas vezes? Mas isso não soa bem paira mim?

Obviamente, eu sou bastante novo na Firebase, então não tenho certeza se isso é por design ou não. Mas isso me deixa nervosa na grande image que estou executando o código "on" mais de uma vez por atualização única?

One Solution collect form web for “Firebase .on ('value, function () {}) executando duas vezes com um único impulso”

Eu tive o mesmo problema com base em firebase no evento 'value'. Isso ocorre porque vários ouvintes são anexados paira o mesmo evento, na página cairregair ou reauthentication etc.

A solução é remoview o ouvinte existente antes de append um novo ouvinte.

No evento firebase call off() antes do evento on() paira corrigir isso.

Nesse cenário,

 fb.child('Question').off(); fb.child('Question').on('value',function(ss){ console.log('on called'); }); 

irá resolview o problema

JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.