如何使用 valueChanges 在 firebase 数据库中只读取一次数据?

How to use valueChanges to only read data once in firebase database?

我的 ionic 5 (Angular) 项目使用 Google firebase 数据库。

这是我用来从 firebase 数据库读取数据的示例代码。我只想读取数据一次。由于 valueChanges() 是一个可观察的,我想我每次使用它时都必须取消订阅。

constructor(db: AngularFireDatabase) {
    this.tempsub = db.list('items').valueChanges().subscribe(data=>{...});
    this.tempsub.unsubscribe()
  }

在我的用例中我必须取消订阅吗?有没有更好的方案只读取一次firebase数据库的数据?

您可以使用 take 运算符来配置所需的发射数量。
使用 take(1) 将发出第一个值,然后完成并取消订阅。

db.list('items').valueChanges()
  .pipe(take(1))
  .subscribe(...);