如何处理“错误状态:调用close后无法添加新事件”以调用在flutter中处理后添加事件

时间:2020-05-29 04:20:38

标签: flutter bloc state-management

我的登录页面中有bloc,但是单击注销按钮并使用错误的密码再次登录(以查看和打印失败的响应)之后。我总是得到Bad state: Cannot add new events after calling close,我在dispose中关闭了函数,但是我仍然得到Bad state: Cannot add new events after calling close 这是我的代码的一部分

class Login {
  final _repository = Repository();

  final _loginController = StreamController<List<dynamic>>();
  Stream<List<dynamic>> get loginData => _loginController.stream;

  final _name = BehaviorSubject<String>();
  final _password = BehaviorSubject<String>();

  //Login initialData
  retrieveLoginData(String name, String password) async {
    List<LoginRespon> post = await _repository.addSave(name, password);
    _loginController.sink.add(post); // the error (paused on exception) comes from here
  }

  addSave() {
    _repository.addSave(_name.value, _password.value);
  }

  dispose() {
    _name.close();
    _password.close();
    _loginController.close(); 
  }
}

final bloc = Login();

我应该在代码中添加一些东西来防止该错误吗?

0 个答案:

没有答案