9

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

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 而不是一个数组?它是一个数组有什么用例?

4

1 回答 1

4

原因是它重用了MessageEvent有时可以通过多个端口数组分派的接口。就这样。

于 2016-09-06T07:58:26.343 回答