on method

SocketIoChannel on(
  1. String event,
  2. Function callback
)

Bind the channel's socket to an event and store the callback.

Implementation

SocketIoChannel on(String event, Function callback) {
  listeners[event] = listeners[event] ?? [];

  if (events[event] == null) {
    events[event] = (props) {
      String channel = props[0];
      dynamic data = props[1];
      if (name == channel && listeners[event]!.isNotEmpty) {
        for (var cb in listeners[event]!) {
          cb(data);
        }
      }
    };

    socket.on(event, events[event]);
  }

  listeners[event]?.add(callback);

  return this;
}