我目前正在用 JavaScript 编写一个小库,以帮助我将一些繁重的计算委托给网络工作者。
出于某些原因(主要是为了能够在 UI 线程中进行调试,然后在工作线程中运行相同的代码),我想检测脚本当前是在工作线程中运行还是在 UI 线程中运行。
我不是经验丰富的 JavaScript 开发人员,我想确保以下函数能够可靠地检测我是否在工作人员中:
function testenv() {
try{
if (importScripts) {
postMessage("I think I'm in a worker actually.");
}
} catch (e) {
if (e instanceof ReferenceError) {
console.log("I'm the UI thread.");
} else {
throw e;
}
}
}
那么,是吗?