【问题标题】:How can a child worker send message to parent process in Deno?子工作者如何向 Deno 中的父进程发送消息?
【发布时间】:2020-05-30 20:51:18
【问题描述】:

this answer,我知道父进程可以与子工作者对话,但反过来呢?

【问题讨论】:

    标签: deno


    【解决方案1】:

    从工人那里你必须使用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 只读属性返回窗口本身,作为 窗口代理。它可以与窗口对象上的点表示法一起使用(即 是,window.self)或独立(self)。 独立的优势 符号是非窗口上下文存在类似的符号, 例如在 Web Workers 中。通过使用self,可以参考全局 范围的方式不仅适用于窗口上下文(自我将 解析为 window.self) 但也在工作人员上下文中(然后 self 将 解析为 WorkerGlobalScope.self)。

    【讨论】:

    • self 变量从何而来?
    • 来自worker,它在worker范围内。您可以在链接中看到它。
    • 嗯,它是一个全局对象,在浏览器中你可以这样做:self === window。在worker中self是worker。
    • 谢谢我在这里找到了参考developer.mozilla.org/en-US/docs/Web/API/Window/self
    猜你喜欢
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    相关资源
    最近更新 更多