【问题标题】:Why does the SharedWorker onConnect event have a Ports array?为什么 SharedWorker onConnect 事件有一个 Ports 数组?
【发布时间】:2016-09-06 07:43:42
【问题描述】:

在我见过的所有示例中,它们都与此类似

onconnect = function(e) {
    var port = e.ports[0];

    port.onmessage = function(e) {
        var workerResult = 'Result: ' + (e.data[0] * e.data[1]);
        port.postMessage(workerResult);
    }

    port.start();
}

是否存在端口数组将包含多个元素的实例?在 SharedWorker 上使用 chrome://inspect 并打印出e,我得到了

不管有多少实例共享 SharedWorker,长度始终为 1。为什么它不只是一个 MessageEvent 而不是一个数组?它是一个数组有什么用例?

【问题讨论】:

    标签: javascript web-worker shared-worker


    【解决方案1】:

    原因是它重用了MessageEvent 接口,该接口有时可以通过多个端口的数组进行调度。就是这样。

    【讨论】:

    猜你喜欢
    • 2015-01-09
    • 1970-01-01
    • 2015-04-03
    • 2021-01-21
    • 2022-07-19
    • 1970-01-01
    • 2019-07-06
    • 1970-01-01
    • 2014-01-03
    相关资源
    最近更新 更多