Flutter BLoC (flutter_bloc) 是否有等同于 onDispose 的功能?
Does Flutter BLoC (flutter_bloc) have an equivalent to onDispose?
我使用 flutter_bloc 创建了一个 BLoC,我在上面收听了一个流。当父小部件(以及 BLoC 对象)被处置时,我想关闭我的流。
class ChatBloc extends Bloc<ChatEvent, ChatState> {
//..bloc params..//
ChatBloc(this.chatId) {
this.add(MarkAsRead());
subscription = messagesFirestoreRepository.chatMessages(chatId).listen((messages) {
this.add(UpdateMessages(messages));
});
} //I WANT TO CLOSE THIS WHEN THE BLOC GETS DISPOSED OR DEINITED
//..other stuff..//
}
flutter_bloc 或 'Any' class 是否具有 dispose 或 Swift 的 deinit 的等价物?
谢谢!
您可以覆盖 close
方法:
class ChatBloc extends Bloc<ChatEvent, ChatState> {
@override
Future<void> close() {
// Release resources here
super.close();
}
}
我使用 flutter_bloc 创建了一个 BLoC,我在上面收听了一个流。当父小部件(以及 BLoC 对象)被处置时,我想关闭我的流。
class ChatBloc extends Bloc<ChatEvent, ChatState> {
//..bloc params..//
ChatBloc(this.chatId) {
this.add(MarkAsRead());
subscription = messagesFirestoreRepository.chatMessages(chatId).listen((messages) {
this.add(UpdateMessages(messages));
});
} //I WANT TO CLOSE THIS WHEN THE BLOC GETS DISPOSED OR DEINITED
//..other stuff..//
}
flutter_bloc 或 'Any' class 是否具有 dispose 或 Swift 的 deinit 的等价物?
谢谢!
您可以覆盖 close
方法:
class ChatBloc extends Bloc<ChatEvent, ChatState> {
@override
Future<void> close() {
// Release resources here
super.close();
}
}