Wong Jia Hau
Wong Jia Hau

Reputation: 3069

How can a child worker send message to parent process in Deno?

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

Upvotes: 3

Views: 1280

Answers (1)

Marcos Casagrande
Marcos Casagrande

Reputation: 40414

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).

Upvotes: 4

Related Questions