initBackend<TDataType> method
Future<void>
initBackend<TDataType>(
- Creator<
TDataType> creator, { - required Type backendType,
- TDataType? data,
- ErrorHandler? errorHandler,
- String uniqueId = '',
- bool isMessageBus = false,
Method for creating backend of this frontend state
Implementation
@protected
Future<void> initBackend<TDataType>(
Creator<TDataType> creator, {
required Type backendType,
TDataType? data,
ErrorHandler? errorHandler,
String uniqueId = '',
bool isMessageBus = false,
}) async {
if (uniqueId.isEmpty) {
_id = Isolator.generateBackendId(backendType);
} else {
_id = uniqueId;
}
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,
isMessageBus: isMessageBus,
);
_toBackend = communicator.toBackend;
_fromBackend = communicator.fromBackend;
await _subscription?.cancel();
_subscription = _fromBackend.asBroadcastStream().listen(_backendResponseRawHandler);
_isInitialized = true;
}