{"id":411,"date":"2021-12-07T16:09:13","date_gmt":"2021-12-07T07:09:13","guid":{"rendered":"https:\/\/blog.mydepot.kr\/?p=411"},"modified":"2021-12-07T16:09:43","modified_gmt":"2021-12-07T07:09:43","slug":"javascript-worker-%ec%83%98%ed%94%8c-%ec%bd%94%eb%93%9c","status":"publish","type":"post","link":"https:\/\/blog.mydepot.kr\/?p=411","title":{"rendered":"[javascript] worker \uc0d8\ud50c \ucf54\ub4dc"},"content":{"rendered":"<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n\/\/\/ worker \ucc98\ub9ac\nvar chkModeWorker = new Worker(&#039;js\/worker_chk_mode.js&#039;);\nchkModeWorker.postMessage({\n      &quot;url&quot;: &quot;\/jsonData\/chk_mode.php&quot;}\n);\nchkModeWorker.onmessage = function (e) {\n      if (e.data == null) {\n            console.warn(&quot;\uc810\uac80\ubaa8\ub4dc \ud655\uc778\uc744 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.&quot;);\n      } else {\n            if(e.data.chk*1 &gt; 0){\n                  \/\/ \uc810\uac80\ubaa8\ub4dc \ucc98\ub9ac\n                  $(&quot;.headerBox&quot;).addClass(&quot;chkMod&quot;);\n            }else{\n                  \/\/ \uc810\uac80\ubaa8\ub4dc \ud574\uc81c \ucc98\ub9ac\n                  $(&quot;.headerBox&quot;).removeClass(&quot;chkMod&quot;);\n            }\n      }\n}\nchkModeWorker.onerror = function (e) {   \n      console.warn(&quot;\uc810\uac80\ubaa8\ub4dc \ud655\uc778\uc744 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.&quot;);\n}\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n\/\/\/ worker \ubcf8 \ud30c\uc77c\nlet lastStateText;\n\nfunction ajaxChkModeLoad(url) {\n      fetch(url, {\n            method: &quot;GET&quot;,\n      }).catch(function(error){\n            \/\/ \uc5d0\ub7ec \uac80\ucd9c\n            console.log(&#039;Request failed. &#039; + error);\n      }).then(response =&gt;\n            \/\/ \ub370\uc774\ud130 \ud14d\uc2a4\ud2b8\ud654\n            response.text()\n      ).then(response =&gt; {\n            \/\/ \uae30\uc874 \ub370\uc774\ud130\uc640 \uac19\uc744 \uacbd\uc6b0 \uc2a4\ud0b5\n            if(lastStateText !== response){\n                  lastStateText = response;\n\n                  \/\/ \ud14d\uc2a4\ud2b8 \ub9ac\ud134\n                  postMessage({\n                        &quot;chk&quot;: lastStateText\n                  });        \n            }     \n\n            \/\/ \ud3f4\ub9c1 \ucc98\ub9ac\n            setTimeout(() =&gt; {\n                  ajaxChkModeLoad(url);\n            }, 3000); \n      })\n}\n\n\/\/ \uccab \uc2e4\ud589\uc2dc \ucc98\ub9ac\nonmessage = function (event) {\n      ajaxChkModeLoad(event.data.url);\n}\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[7],"tags":[13,190,191],"class_list":["post-411","post","type-post","status-publish","format-standard","hentry","category-javascript","tag-13","tag-worker","tag-191"],"modified_by":"\ucc38\ube5b\ubc14\ub2e4","_links":{"self":[{"href":"https:\/\/blog.mydepot.kr\/index.php?rest_route=\/wp\/v2\/posts\/411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.mydepot.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mydepot.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mydepot.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mydepot.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=411"}],"version-history":[{"count":2,"href":"https:\/\/blog.mydepot.kr\/index.php?rest_route=\/wp\/v2\/posts\/411\/revisions"}],"predecessor-version":[{"id":413,"href":"https:\/\/blog.mydepot.kr\/index.php?rest_route=\/wp\/v2\/posts\/411\/revisions\/413"}],"wp:attachment":[{"href":"https:\/\/blog.mydepot.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=411"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mydepot.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=411"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mydepot.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}