Flutter(Dart)删除Firebase数据库侦听器

时间:2018-08-29 15:19:17

标签: dart flutter

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

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

对于Kotlin和迅捷的firebase,我必须在onPause()/ onDestroy()中删除侦听器。我可以知道如何在扑朔迷离中删除Firebase数据库侦听器吗?

1 个答案:

答案 0 :(得分:3)

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();
}