Как дочерний работник может отправить сообщение родительскому процессу в Deno? - PullRequest
2 голосов
/ 30 мая 2020

Из этого ответа я знаю, что родительский процесс может разговаривать с дочерним рабочим, но как насчет другого пути?

1 Ответ

1 голос
/ 30 мая 2020

От воркера надо использовать Worker.postMessage

self.postMessage('hi')

А в основном процессе:

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

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

По поводу self

Доступное только для чтения свойство Window.self возвращает само окно как WindowProxy. Его можно использовать с точечной нотацией для объекта окна (то есть window.self) или автономно (self). Преимущество автономной нотации состоит в том, что аналогичная нотация существует для контекстов без окон, например, в Web Workers . Используя self, вы можете ссылаться на глобальную область видимости таким образом, который будет работать не только в контексте окна (self будет преобразовываться в window.self) , но также и в контексте worker (self затем разрешится в WorkerGlobalScope.self).

...