在我的Ionic应用中,当用户访问标签" location"时,会对用户的帐户和相关业务进行一些操作。
现在,当一个键进入时(基于Geofire),一切都被触发但是它会多次触发,我不知道为什么!
例如,以毫秒为单位的时间将在按下时触发两次,并且按下的消息将被推送8次或9次。
以下是代码:
head
答案 0 :(得分:2)
我实际上在你的另一个问题中告诉过你,但我想你错过了它。使用ws.max_row
时,您实际上正在为值更改事件注册侦听器,因此无论您的.on('value', [callback])
是否第二次触发,它都会在每次值更改时触发。此值更改事件不仅会触发对您请求的对象的更改,还会触发对这些对象的任何子项的任何更改。
对于您的Firebase请求(而不是key_entered
- 事件,使用.once('value', [callback])
正确),您应该使用的是key_entered
。
以下是您应该更改的代码部分:
.on(..)