当使用一个名称创建新的Worker实例时,例如:
// index.js
const myWorker = new Worker('./worker.js', { name: 'myWorker' });
是否有可能从worker.js
内部订阅/捕获初始化,然后,例如,获取其名称?
// worker.js
const oninit = options => {
console.log(options.name); // ==> logs "myWorker"
};
我找不到这样的选项…是我理解错了吗?
我猜"init"当工作线程被加载/执行时发生,所以无论你在其中直接调用什么,都会立即运行。选项中的name
(DedicatedWorkerGlobalScope.name
)应该可读为self.name
,因此只需调用
// worker.js
console.log(self.name);
应该可以解决这个问题(前提是您的工作环境有工作控制台)。