我发现 firestore 有两个实时监听器。
snapshotChanges()
onSnapshot()
这是我的问题
有什么区别?我应该如何正确使用它们(我正在使用 Ionic + Cordova + Angular 框架进行开发)?
如何分离
snapshotChanges()
?请参阅 Firestore 文档,我可以按照如下方式分离 onSnapshot()
。
var unsubscribe = db.collection("cities")
.onSnapshot(function (){
// Respond to data
// ...
});
// Later ...
// Stop listening to changes
unsubscribe();
AngularFire 库不包含名为
onSnapshot()
的方法。 onSnapshot()
方法用于javascript cloud firestore库中,用于监听实时更新。
虽然
snapshotChanges()
专门用于 Angularfire,但它会返回 Observable
,因此它将继续侦听数据库中的任何更改并检索数据。
对于
unsubscribe
,你只需要调用方法unsubscribe()
:
//Subscribe
subscription = this.itemRef.snapshotChanges().subscribe();
//Unsubscribe
subscription.unsubscribe()