Angularfire snapshotChanges() 与 Firestore JavaScript 库 onSnapshot()

问题描述 投票:0回答:1

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

  • 角火:
    snapshotChanges()
  • Firestore JavaScript 库:
    onSnapshot()

这是我的问题

  1. 有什么区别?我应该如何正确使用它们(我正在使用 Ionic + Cordova + Angular 框架进行开发)?

  2. 如何分离

    snapshotChanges()
    ?请参阅 Firestore 文档,我可以按照如下方式分离
    onSnapshot()

var unsubscribe = db.collection("cities")
    .onSnapshot(function (){
      // Respond to data
      // ...
    });

// Later ...

// Stop listening to changes
unsubscribe();
firebase google-cloud-firestore angularfire2
1个回答
2
投票

AngularFire 库不包含名为

onSnapshot()
的方法。
onSnapshot()
方法用于javascript cloud firestore库中,用于监听实时更新。

虽然

snapshotChanges()
专门用于 Angularfire,但它会返回
Observable
,因此它将继续侦听数据库中的任何更改并检索数据。

对于

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

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

//Unsubscribe
subscription.unsubscribe()
© www.soinside.com 2019 - 2024. All rights reserved.