Basic shared worker example (run shared worker) 를 ë³´ìë©´ 2ê°ì HTML íì´ì§ê° ììµëë¤. ê°ê° ê°ë¨í ê³ì°ì ìí´ JavaScript를 ì¬ì©í©ëë¤. ê°ê¸° ë¤ë¥¸ ì¤í¬ë¦½í¸ê° ê³ì°ì ìí´ ê°ì ì커 íì¼ì ì¬ì©í©ëë¤ â ë ê° íì´ì§ê° 모ë ë¤ë¥¸ ìëì°ì°½ìì ì¤íëëë¼ë ê°ì ì커ì ì ê·¼í ì ììµëë¤.
ìë ì½ë ì¤ëí«ì SharedWorker()
ìì±ì를 ì´ì©í´ SharedWorker
ê°ì²´ë¥¼ ìì±í©ëë¤. ë ì¤í¬ë¦½í¸ 모ë ìë를 í¬í¨í©ëë¤.
var myWorker = new SharedWorker("worker.js");
ë ì¤í¬ë¦½í¸ë SharedWorker.port
ìì±ì¼ë¡ ìì±í MessagePort
ê°ì²´ë¥¼ íµí´ ì커ì ì ê·¼í ì ììµëë¤. addEventListener
를 ì´ì©íì¬ onmessage
ê° ì¶ê°ëë©´, portë start()
ë©ìë를 ì´ì©íì¬ ìëì¼ë¡ ììí ì ììµëë¤.
í¬í¸ê° ììëë©´, ì ì¤í¬ë¦½í¸ë ì커ì ë©ìì§ë¥¼ ë³´ë´ê³ port.postMessage()
ì port.onmessage
를 ê°ê° ì´ì©íì¬ ë©ìì§ë¥¼ ì²ë¦¬í©ëë¤.
first.onchange = function () {
myWorker.port.postMessage([first.value, second.value]);
console.log("Message posted to worker");
};
second.onchange = function () {
myWorker.port.postMessage([first.value, second.value]);
console.log("Message posted to worker");
};
myWorker.port.onmessage = function (e) {
result1.textContent = e.data;
console.log("Message received from worker");
};
ì커ìì SharedWorkerGlobalScope.onconnect
í¸ë¤ë¬ë¥¼ ì´ì©íì¬ ìì ì¸ê¸ë í¬í¸ì ì ìí ì ììµëë¤. ì커ì ì°ê´ëì´ ìë í¬í¸ë connect
ì´ë²¤í¸ í¬í¸ ìì±ì ì ê·¼í ì ììµëë¤ â ê·¸ë¦¬ê³ ëì MessagePort
start()
ë©ìëë¡ í¬í¸ë¥¼ ììíê³ , onmessage í¸ë¤ë¬ë¡ ë©ì¸ì°ë ëìì ë°ì ë©ìì§ë¥¼ ì²ë¦¬í©ëë¤.
onconnect = function (e) {
var port = e.ports[0];
port.addEventListener("message", function (e) {
var workerResult = "Result: " + e.data[0] * e.data[1];
port.postMessage(workerResult);
});
port.start(); // Required when using addEventListener. Otherwise called implicitly by onmessage setter.
};
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4