我(认为我)正在按照有关如何在Firebase
Firestore
中分离侦听器的说明进行操作,但是在我的代码中侦听器仍处于活动状态。
// attaching a listener
this.dbTasks.where('completed', '==', true).onSnapshot(data => {...code...})
// detaching a listener
this.dbTasks.where('completed', '==', true).onSnapshot(() => {})
我错过了什么?
onSnapshot
返回一个函数,您需要将该函数保存在变量中,并在要删除侦听器时调用该函数。
this.unsubscribe = this.dbTasks.where('completed', '==', true).onSnapshot(
data => {...code...}
);
// Stop listening to changes
this.unsubscribe();
您正在做的实际上是创建一个不执行任何操作的第二个侦听器。