gpt4 book ai didi

javascript - 取消订阅 Firebase 实时数据库

转载 作者:行者123 更新时间:2023-11-29 17:44:30 25 4
gpt4 key购买 nike

我的 Ionic 应用程序中有一个聊天系统,它显示在模态窗口中。在模式窗口中,我有下面的代码。似乎在使用该应用程序一段时间后,它变得有点迟钝。

我怀疑这是因为我应该在关闭模态窗口时取消订阅 Firebase。换句话说,每次我单击按钮打开模式时,似乎都在进行新订阅。是这样吗?如果是这样,我该怎么办?我在文档中没有看到取消订阅选项?

ionViewDidLoad() {
firebase.database().ref('chatrooms/'+this.roomkey+'/chats').limitToLast(30).on('value', resp => {

this.chats = [];
this.chats = snapshotToArray(resp);
this.content.scrollTo(0, 999999, 200);

});
}

我尝试了以下方法来调用 off 但不确定这是否是正确的方法?我把它放在 ionViewDidLeave()

firebase.database().ref('chatrooms/'+this.roomkey+'/chats').limitToLast(30).off('value');

最佳答案

当不再需要某个监听器时,您应该始终删除数据库引用上的任何监听器。否则,该监听器将在数据更改时继续接收快照。

要删除监听器,请使用 off()在您用来调用 on() 的相同引用上的方法.将您传递给 on() 的回调函数传递给它。另请阅读 detatching listeners 的文档.

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

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