从内部侦听器中删除 Firestore 快照侦听器

Jar*_*red 4 android firebase google-cloud-firestore

超级简单的问题。一旦我到达我的听众内部的某个点,我需要删除一个 firestore 快照听众。看起来这应该非常简单,但我无法弄清楚。谢谢!

示例代码:

val registration = gameRef.addSnapshotListener { snapshot, e ->
     //code....

     //if(condition is meet){
     //    destroy this listener
     //}
}
Run Code Online (Sandbox Code Playgroud)

Dou*_*son 9

假设侦听器立即返回,并且在函数返回它之前不会调用它的回调:

var feedback: ListenerRegistration? = null
feedback = gameRef.addSnapshotListener { snapshot, e ->
    feedback?.remove()
}
Run Code Online (Sandbox Code Playgroud)