internalDispatch method Null safety

  1. @override
TResult internalDispatch(
  1. Dispatcher dispatcher
)
override

Implementation

@override
TResult internalDispatch(Dispatcher dispatcher) {
  onDispatch();
  try {
    if (dispatcher.cancelled == true) {
      throw CancelledException('Action is cancelled');
    }

    final result = body();
    dispatcher.onDone(null, result);
    return result;
  } catch (e) {
    dispatcher.onDone(e, null);
    rethrow;
  }
}