invoke<Event extends EventBase> method
InvokeResult<State>
invoke<
Event extends EventBase>( - Event event
)
override
Implementation
@override
InvokeResult<State> invoke<Event extends EventBase>(Event event) {
if (isClosed) {
throw Exception('EventBus is closed.');
}
final handlers = _eventHandlers[Event];
if (handlers == null || handlers.isEmpty) {
return InvokeResult.unhandled(
state: state,
);
}
final previous = state;
try {
for (var _EventHandler(:handler) in handlers) {
handler(event);
}
onAfterInvoke(event, previous);
} catch (e, stackTrace) {
return InvokeResult.error(
state: state,
error: e,
stackTrace: stackTrace,
);
}
return InvokeResult.done(
state: state,
);
}