3

From this answer, I know that a parent process can talk to a child worker, but how about the other way around?

Wong Jia Hau
  • 2,639
  • 2
  • 18
  • 30

1 Answers1

4

From the worker you have to use Worker.postMessage

self.postMessage('hi')

And in the main process:

const worker = new Worker("./worker.js", { type: "module", deno: true });

worker.addEventListener('message', message => {
    console.log('message', message);
    // message.data === 'hi'
});

Regarding self

The Window.self read-only property returns the window itself, as a WindowProxy. It can be used with dot notation on a window object (that is, window.self) or standalone (self). The advantage of the standalone notation is that a similar notation exists for non-window contexts, such as in Web Workers. By using self, you can refer to the global scope in a way that will work not only in a window context (self will resolve to window.self) but also in a worker context (self will then resolve to WorkerGlobalScope.self).

Marcos Casagrande
  • 37,983
  • 8
  • 84
  • 98