私は現在、JavaScriptで小さなライブラリを作成して、Webワーカーに重い計算を委任できるようにしています。
いくつかの理由で(主に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;
}
}
}
それで、それはありますか?