aboutsummaryrefslogtreecommitdiff
path: root/files/ko/web/api/abstractworker/index.html
blob: c31abaa6c1b9ad173a4debbb8adaf4414bf59676 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
---
title: AbstractWorker
slug: Web/API/AbstractWorker
tags:
  - API
  - Abstract
  - AbstractWorker
  - Interface
  - Reference
  - Web Workers
  - Web Workers API
  - Worker
  - 워커
  - 웹 워커
translation_of: Web/API/AbstractWorker
---
<div>{{ APIRef("Web Workers API") }}</div>

<p><a href="/ko/docs/Web/API/Web_Workers_API">Web Workers API</a><strong><code>AbstractWorker</code></strong> 인터페이스는 기본적인 {{domxref("Worker")}}에 더해 {{domxref("ServiceWorker")}}{{domxref("SharedWorker")}}까지, 모든 유형의 워커에 공통된 속성과 메서드를 정의하는 추상 인터페이스입니다.</p>

<h2 id="속성">속성</h2>

<p><code>AbstractWorker</code> 인터페이스는 어떠한 속성도 상속하지 않습니다.</p>

<h3 id="이벤트_처리기">이벤트 처리기</h3>

<dl>
 <dt>{{domxref("AbstractWorker.onerror")}}</dt>
 <dd><span style="line-height: 1.5;"><code>error</code> 유형의 {{domxref("ErrorEvent")}}가 워커로 확산되면 호출할 {{domxref("EventListener")}}입니다.</span></dd>
</dl>

<h2 id="메서드">메서드</h2>

<p><code>AbstractWorker</code> 인터페이스는 어떠한 메서드도 구현하거나 상속하지 않습니다.</p>

<h2 id="예제">예제</h2>

<p><code>AbstractWorker</code>는 추상 인터페이스므로 코드 내에서 직접 사용할 일은 없습니다. 대신, <code>AbstractWorker</code>를 상속하는 {{domxref("Worker")}} 또는 {{domxref("SharedWorker")}}를 사용할 것입니다.</p>

<p>다음 코드는 {{domxref("Worker.Worker", "Worker()")}} 생성자를 사용해 새로운 <code>Worker</code>를 생성한 후 워커로 메시지를 전송하는 것을 보입니다.</p>

<pre class="brush: js notranslate">var myWorker = new Worker('worker.js');

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

<p>위 워커의 코드는 "<code>worker.js</code>" 파일에서 불러오며, <code>first</code>로 표현한 {{htmlelement("input")}} 요소가 존재하는 상황을 가정하여, {{event("change")}} 이벤트 처리기를 부착해 사용자가 <code>first</code>의 값을 바꿀 때마다 워커에 메시지를 전송해 바뀐 값을 알려줍니다.</p>

<p>MDN 웹 문서 GitHub 저장소에 더 많은 예제가 준비돼있습니다.</p>

<ul>
 <li><a href="https://github.com/mdn/simple-web-worker">기본적인 전용 워커 예제</a> (<a href="http://mdn.github.io/simple-web-worker/">실행</a>)</li>
 <li><a href="https://github.com/mdn/simple-shared-worker">기본적인 공유 워커 예제</a> (<a href="http://mdn.github.io/simple-shared-worker/">실행</a>)</li>
</ul>

<h2 id="명세">명세</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
  <tr>
   <td>{{SpecName("HTML WHATWG", "#abstractworker", "AbstractWorker")}}</td>
   <td>{{Spec2('HTML WHATWG')}}</td>
   <td>No change from {{SpecName("Web Workers")}}.</td>
  </tr>
 </tbody>
</table>

<h2 id="브라우저_호환성">브라우저 호환성</h2>

<div>{{Compat("api.AbstractWorker")}}</div>

<h2 id="같이_보기">같이 보기</h2>

<ul>
 <li>{{domxref("Worker")}}{{domxref("SharedWorker")}} 이런 특징을 물려받고 있습니다.</li>
</ul>