diff --git a/main.js b/main.js index e39241f..5bc0532 100644 --- a/main.js +++ b/main.js @@ -117,6 +117,12 @@ function switchInputs(enabled) { document.querySelector("#modulus").disabled = !enabled; } +function endOfComputation() { + clearTimeout(timeoutId); + switchInputs(true); + switchButtons(true); +} + const expr = document.querySelector("#expr"); let selectionStart = 0; let selectionEnd = 0; @@ -124,17 +130,13 @@ let selectionEnd = 0; let timeoutId = null; const worker = new Worker("./workers/compute.js"); worker.addEventListener("message", (message) => { - clearTimeout(timeoutId); document.querySelector("#result").value = message.data; - switchInputs(true); - switchButtons(true); + endOfComputation(); }); worker.addEventListener("error", (e) => { console.log(e); - clearTimeout(timeoutId); document.querySelector("#result").value = e.message; - switchInputs(true); - switchButtons(true); + endOfComputation(); }); document.querySelector("#expr").addEventListener("focus", setupExprInput);