Dart API Referencedart:htmlReceivePortSync

ReceivePortSync Class

Constructors

Code new ReceivePortSync() #

ReceivePortSync() {
  if (_portIdCount == null) {
    _portIdCount = 0;
    _portMap = new Map<int, ReceivePortSync>();
  }
  _portId = _portIdCount++;
  _portMap[_portId] = this;
}

Methods

Code void close() #

void close() {
  _portMap.remove(_portId);
  if (_listener !== null) window.on[_listenerName].remove(_listener);
}

Code void receive(callback(message)) #

void receive(callback(var message)) {
  _callback = callback;
  if (_listener === null) {
    _listener = (TextEvent e) {
      var data = JSON.parse(e.data);
      var replyTo = data[0];
      var message = _deserialize(data[1]);
      var result = _callback(message);
      _dispatchEvent(replyTo, _serialize(result));
    };
    window.on[_listenerName].add(_listener);
  }
}

Code SendPortSync toSendPort() #

SendPortSync toSendPort() {
  return new _LocalSendPortSync._internal(this);
}