Web Worker - 是否可以从 Worker js 内部订阅/捕获 init 函数?

Web Worker - Is it possible to subscribe / catch the init function from inside the Worker js?

使用名称创建新的 Worker 实例时,例如:

// index.js
const myWorker = new Worker('./worker.js', { name: 'myWorker' });

是否可以subscribe/catch从内部初始化 worker.js 然后,例如,获取它的名字?

// worker.js
const oninit = options => {
  console.log(options.name); // ==> logs "myWorker"
};

我找不到这样的选项...我是不是理解错了?

我猜“init”发生在加载/执行 worker 时,因此无论您直接在其中调用什么,它都会立即运行。 选项中的 name (DedicatedWorkerGlobalScope.name) 应该可读为 self.name,因此只需调用

// worker.js
console.log(self.name);

应该可以解决问题(前提是您的工作人员的环境有工作控制台)。