我将一个Firebase数据库侦听器添加到我的flutter项目中,如下所示:

databaseReference = database.reference().child("community_board");
databaseReference.onChildAdded.listen(_onEntryAdded);
databaseReference.onChildChanged.listen(_onEntryChanged);

对于Kotlin和 swift 的Firebase,我必须在onPause()/ onDestroy()中删除侦听器。我可以知道如何在flutter中删除Firebase数据库侦听器吗?

最佳答案

var sub1 = databaseReference.onChildAdded.listen(_onEntryAdded);
var sub2 = databaseReference.onChildChanged.listen(_onEntryChanged);

sub1.cancel();
sub2.cancel();

如果您在小部件中有此代码,则可以使用
@override
void dispose() {
  super.dispose();
  sub1?.cancel();
  sub2?.cancel();
}

08-06 06:51