WebWorkerRunner constructor

WebWorkerRunner()

Implementation

WebWorkerRunner()
    : workerNumber = ++workerCounter,
      worker = web.Worker("worker/web_worker.js") {
  // Listen to Worker's postMessage().
  // dart.html convert the callback to a Stream.
  worker.onMessage.listen((msg) {
    final response = msg.data as RunnerInvocationResult;
    final completer = jobs[response.id];
    if (completer == null) {
      print("Invalid response ${response.id} is missing a completer");
    } else if (response.isSuccess) {
      completer.complete(response.result);
    } else {
      final error = response.error;
      _errors.add(error);
      if (error is Object) {
        completer.completeError(error);
      }
    }
  }, cancelOnError: false, onError: (err) {});
}