emit method

void emit(
  1. String event, [
  2. dynamic data
])
inherited

This function triggers all the handlers currently listening to event and passes them data.

Implementation

void emit(String event, [dynamic data]) {
  final list0 = _events[event];
  // todo: try to optimize this. Maybe remember the off() handlers and remove later?
  // handler might be off() inside handler; make a copy first
  final list = list0 != null ? List.from(list0) : null;
  list?.forEach((handler) {
    handler(data);
  });

  _eventsOnce.remove(event)?.forEach((EventHandler handler) {
    handler(data);
  });
}