let timerInterval = null; let timerTimeout = 10; function setTimerInterval() { if (!timerInterval) { timerInterval = setInterval(function() { postMessage("timerTick"); }, timerTimeout); } } function clearTimerInterval() { clearInterval(timerInterval); timerInterval = null; } onmessage = function(event) { if ("run_flag" in event.data) { if (event.data["run_flag"]) { setTimerInterval(); } else { clearTimerInterval(); } } else if ("set_timeout" in event.data) { timerTimeout = event.data["set_timeout"]; } }