【问题标题】:Does Flutter BLoC (flutter_bloc) have an equivalent to onDispose?Flutter BLoC (flutter_bloc) 是否与 onDispose 等效?
【发布时间】:2020-09-03 07:47:22
【问题描述】:

我使用 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' 类是否与 dispose 或 Swift 的 deinit 等效?

谢谢!

【问题讨论】:

    标签: flutter dart stream flutter-bloc


    【解决方案1】:

    您可以覆盖close 方法:

    class ChatBloc extends Bloc<ChatEvent, ChatState> {
      @override
      Future<void> close() {
        // Release resources here
        super.close();
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2019-11-25
      • 2021-05-30
      • 2020-12-08
      • 2021-11-24
      • 1970-01-01
      • 2021-08-22
      • 2020-08-21
      • 2021-03-22
      • 2020-11-20
      相关资源
      最近更新 更多