Есть ли у Flutter BLoC (flutter_bloc) эквивалент onDispose?

Я создал BLoC, используя flutter_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 эквивалент dispose или deinit в Swift?

Спасибо!


person Jacobo Koenig    schedule 17.05.2020    source источник


Ответы (1)


Вы можете переопределить метод close:

class ChatBloc extends Bloc<ChatEvent, ChatState> {
  @override
  Future<void> close() {
    // Release resources here
    super.close();
  }
}
person Rémi Rousselet    schedule 17.05.2020