initBackend<TDataType> method

  1. @protected
Future<void> initBackend<TDataType>(
  1. Creator<TDataType> creator, {
  2. TDataType? data,
  3. ErrorHandler? errorHandler,
  4. String id = '',
})

Method for creating backend of this frontend state

Implementation

@protected
Future<void> initBackend<TDataType>(Creator<TDataType> creator, {TDataType? data, ErrorHandler? errorHandler, String id = ''}) async {
  _id = '$_defaultId$id';
  final _Communicator<TEvent, Object?> communicator = await Isolator.isolate<TEvent, Object?, TDataType>(
    creator,
    _id,
    isolatorData: IsolatorData(data, IsolatorConfig._instance),

    /// Error handler is a function for handle errors from backend on frontend (prefer to handle errors on backend)
    errorHandler: errorHandler ?? onError,
  );
  _toBackend = communicator.toBackend;
  _fromBackend = communicator.fromBackend;
  await _subscription?.cancel();
  _subscription = _fromBackend.asBroadcastStream().listen(_responseFromBackendHandler);
  _isInitialized = true;
}