initialise method

  1. @override
Future initialise()
override

Implementation

@override
Future initialise() async {
  _futuresCompleter = Completer();
  _initialiseData();
  // We set busy manually as well because when notify listeners is called
  // to clear error messages, ui is rebuilt and busy is not true.
  clearErrors();
  setBusy(true);
  update();
  await beforeInit();
  final _futuresMap = futuresMap;
  for (final key in _futuresMap.keys) {
    runErrorFuture(
      _futuresMap[key]!(),
      key: key,
      throwException: true,
    ).then((result) {
      setDataFor(key, result);
      if (key != typeName) setBusyFor(key, false);
      update();
      onData(key);
      _incrementAndCheckFuturesCompleted(_futuresMap);
    }).catchError((error) {
      if (key != typeName) setBusyFor(key, false);
      update();
      _incrementAndCheckFuturesCompleted(_futuresMap);
    });
  }
  changeSource = false;
  return _futuresCompleter.future;
}