gpt4 book ai didi

AngularFire 如何取消订阅 Firebase 实时数据库

转载 作者:行者123 更新时间:2023-12-01 15:01:17 28 4
gpt4 key购买 nike

我使用 AngularFire 库从 Firebase 实时数据库读取数据。下面是我用来订阅实时数据变化的代码

// db is a reference to AngularFireDatabase
this.dbSubscription = db.list('/authors').valueChanges().subscribe(items =>

对于某些用户操作,我必须更改我正在收听数据的路径。所以代码看起来像这样

this.dbSubscription.unsubscribe();
this.dbSubscription = db.list('/books').valueChanges().subscribe(items =>

正在调用 this.dbSubscription.unsubscribe(); 将应用程序与数据库分离,以便任何数据更改都发生在以前的路径上,即/authors 一旦同步就不会与应用程序同步订阅了新路径/书籍?我想确保我不感兴趣的数据不会下载到应用程序中。

最佳答案

是的!调用取消订阅实际上会在后台调用 .off() 方法。可以看看here in the source code .

  return new Observable<SnapshotPrevKey>(subscriber => {
const fn = ref[listenType](event, (snapshot, prevKey) => {
subscriber.next({ snapshot, prevKey });
if (listenType == 'once') { subscriber.complete(); }
}, subscriber.error.bind(subscriber));
if (listenType == 'on') {
// return a method for unsubscribing the listener
return { unsubscribe() { ref.off(event, fn)} };
} else {
return { unsubscribe() { } };
}
})

关于AngularFire 如何取消订阅 Firebase 实时数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49427004/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com