워커

현재 번역은 완벽하지 않습니다. 한국어로 문서 번역에 동참해주세요.

웹 워커 API워커 인터페이스는 쉽게 생성되어 생성자에게 메세지를 전달할 수 있는 백그라운드 작업을 나타냅니다. 워커를 생성하는 방법은 Worker() 생성자를 호출한 후에 워커 스레드에서 실행할 스크립트를 지정하면 됩니다.

워커는 동일한 출처(origin)의 부모 페이지 안에서 운영되는 한 다시 여러 워커를 생성할 수 있습니다. (노트: 중첩된 워커는 크롬 Blink엔진에서는 아직 구현되지 않았습니다.) 게다가 XMLHttpRequestresponseXMLchannel 속성이 언제나 null을 반환하는 명세 하에 네트워크 I/O를 위해서 XMLHttpRequest를 사용할 수도 있습니다 .

워커를 다루는 스크립트에서는 모든 인터페이스와 함수가 이용 가능한 것은 아닙니다.

파이어폭스의 확장기능 안에서 워커를 사용하고자 js-ctypes 에 접근하고 싶을 때, 여러분은  ChromeWorker 객체를 대신 사용해야 합니다.

속성

은 부모인 EventTarget로부터 상속 받으며 , AbstractWorker의 속성을 구현합니다.

이벤트 핸들러

AbstractWorker.onerror
error 타입ErrorEvent가 워커를 통해서 버블링할 때 EventListener가 호출됩니다. 이는 AbstractWorker로부터 상속 받은 것입니다..
Worker.onmessage
message 타입인 MessageEvent가 워커를 통해서  버블링할 때  An EventListener가 호출됩니다. 예를 들면 하나의 메시지가 DedicatedWorkerGlobalScope.postMessage를 통해서 워커로부터 부모 문서에 전달되는 경우가 이에 해당합니다. 이 메시지는 이벤트의  data 속성 안에 저장되어 있습니다.

생성자

Worker()
는 지정된 URl에서 실행할 스크립트의 전용 웹워커를 생성합니다. 워커는 또한 Blobs을 사용해서 생성될 수도 있습니다.

메서드

는 부모인 EventTarget로부터 메서드를 상속 받으며 AbstractWorker의 속성을 구현합니다.

Worker.postMessage()
는 자바스크립트 객체로 구성된 메세지를 워커의 내부 스코프에 전달합니다.
Worker.terminate()
는 즉시 워커를 종료합니다. 이 메서드는 워커의 명령들을 종료시키는 기능을 제공하지 않고 일시에 워커를 종료시킵니다. 서비스워커 인스턴스는 이 메서드를 지원하지 않습니다.

다음의 코드 조각은 Worker() 생성자를 사용하여 Worker 객체를 생성하고 이 객체를 사용하는 방법으 보여줍니다.

var myWorker = new Worker("worker.js");
var first = document.querySelector('#number1');

first.onchange = function() {
  myWorker.postMessage([first.value,second.value]);
  console.log('Message posted to worker');
}

전체 예제를 보기 위해서 Basic dedicated worker example (run dedicated worker).를 참조하세요.

스펙

Specification Status Comment
WHATWG HTML Living Standard
The definition of 'Worker' in that specification.
Living Standard No change from Web Workers.
Web Workers
The definition of 'Worker' in that specification.
Editor's Draft Initial definition.

브라우저 호환성

다양한 종류의 워커를 지원하고 있습니다. 각 워커 타입의 고유정보 확인하세요.

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 4 3.5 10.0 10.6 4
Feature Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support 4.4 3.5 1.0.1 10.0 11.5 5.1 ?

 

참고 항목

문서 태그 및 공헌자

태그: 
 이 페이지의 공헌자: NFM
 최종 변경: NFM,