为什么一切都会多次发射?

时间:2017-03-19 18:01:34

标签: javascript angularjs firebase ionic-framework geofire

在我的Ionic应用中,当用户访问标签" location"时,会对用户的帐户和相关业务进行一些操作。

现在,当一个键进入时(基于Geofire),一切都被触发但是它会多次触发,我不知道为什么!

例如,以毫秒为单位的时间将在按下时触发两次,并且按下的消息将被推送8次或9次。

以下是代码:

head

1 个答案:

答案 0 :(得分:2)

我实际上在你的另一个问题中告诉过你,但我想你错过了它。使用ws.max_row时,您实际上正在为值更改事件注册侦听器,因此无论您的.on('value', [callback])是否第二次触发,它都会在每次值更改时触发。此值更改事件不仅会触发对您请求的对象的更改,还会触发对这些对象的任何子项的任何更改。

对于您的Firebase请求(而不是key_entered - 事件,使用.once('value', [callback])正确),您应该使用的是key_entered

实施例

以下是您应该更改的代码部分:

.on(..)