dispatch<T extends JState> method

  1. @override
Future<void> dispatch<T extends JState>(
  1. JIntent<T> intent,
  2. JController<T> controller
)
override

Dispatches the given intent to the provided controller.

The intent represents an action or event that can modify the controller's state. The implementation should ensure the intent is invoked appropriately.

Implementation

@override
Future<void> dispatch<T extends JState>(
  JIntent<T> intent,
  JController<T> controller,
) {
  if (!controller.mounted) {
    return Future<void>.error(StateError('JController has been disposed.'));
  }
  final completer = Completer<void>();
  _queue.add(_QueuedIntent<T>(intent, controller, completer));
  _drain();
  return completer.future;
}