В настоящее время я пишу небольшую библиотеку в JavaScript, чтобы помочь мне делегировать веб-работнику некоторые тяжелые вычисления.
По некоторым причинам (в основном, для возможности отладки в потоке пользовательского интерфейса, а затем запускать один и тот же код у рабочего), я бы хотел определить, выполняется ли script в рабочем или в потоке пользовательского интерфейса.
Я не опытный разработчик 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;
}
}
}
Итак, не так ли?