共享工作人员共享变量 [英] Shared worker do share variables

查看:119
本文介绍了共享工作人员共享变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在阅读有关共享工作者上下文的一些文档。很多人指出共享工作者不共享变量,这意味着他们不能使用彼此的变量。
然而,我的实验再次证明了这一点。

I've been reading some documents about shared worker context. Lots of them point out shared worker do not share variables, which means they can not use each other variables. However, my experiment againsts that.

var port = new SharedWorker('worker.js').port;
port.start();
port.postMessage('Hello');



工人



Worker

var ports = [];
onconnect = function(e){
    var port = e.ports[0];
    port.start();
    ports.push(port);
    console.log('Number of tabs: '+ports.length);
};

ports.length 在我打开时不断增加更多标签,这意味着工人之间共享 ports

ports.length keeps increasing when I open more tabs, which means ports is shared between workers.

有人可以解释一下吗?

推荐答案

我相信SharedWorker会创建一个可以从多个父级访问的单个工作者,因此它不共享变量,因为它的单个SharedWorker进程共享父级

I believe SharedWorker creates a single worker which is accessed from multiple parents, so its not sharing variables since its a single SharedWorker process sharing parents

这篇关于共享工作人员共享变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆