Angularfire snapshotChanges() 与 Firestore javascript 库 onSnapshot()

Angularfire snapshotChanges() vs Firestore javscript library onSnapshot()

我发现 firestore 有两个实时监听器。

这是我的问题

  1. 请问有什么区别?我应该如何正确使用它们(我正在使用 Ionic + Cordova + Angular 框架进行开发)?
  2. 如何分离 snapshotChanges()?参考 Firestore 文档,我可以按照下面的方法分离 onSnapshot()。
    var unsubscribe = db.collection("cities")
        .onSnapshot(function (){
          // Respond to data
          // ...
        });

    // Later ...

    // Stop listening to changes
    unsubscribe();

感谢您的精彩分享。

AngularFire 库不包含名为 onSnapshot() 的方法。 onSnapshot() 方法在 javascript 云 firestore 库中使用,以侦听实时更新。

虽然 snapshotChanges() 专门用于 angularfire,但它 returns 和 Observable 因此它将继续监听数据库中的任何更改并检索数据。

unsubscribe,只需要调用方法unsubscribe():

//Subscribe
subscription = this.itemRef.snapshotChanges().subscribe();

//Unsubscribe
subscription.unsubscribe()