diff options
Diffstat (limited to 'files/ru/web/api/abstractworker/index.html')
-rw-r--r-- | files/ru/web/api/abstractworker/index.html | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/files/ru/web/api/abstractworker/index.html b/files/ru/web/api/abstractworker/index.html new file mode 100644 index 0000000000..cca9299e6e --- /dev/null +++ b/files/ru/web/api/abstractworker/index.html @@ -0,0 +1,95 @@ +--- +title: AbstractWorker +slug: Web/API/AbstractWorker +tags: + - API + - AbstractWorker + - Interface + - SharedWorker + - Web Workers + - Web Workers API + - Worker + - Абстрактный + - Интерфейс +translation_of: Web/API/AbstractWorker +--- +<div>{{ APIRef("Web Workers API") }}</div> + +<div>Интерфейс <span class="seoSummary"><strong><code>AbstractWorker (абстрактный воркер)</code></strong></span> , как часть <span class="seoSummary"> <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API">Web Workers API</a></span> - это абстрактный интерфейс, который определяет общие свойства и методы для всех типов воркеров: для базового <span class="seoSummary">{{domxref("Worker")}}</span> и также для <span class="seoSummary">{{domxref("ServiceWorker")}}</span> и <span class="seoSummary">{{domxref("SharedWorker")}}</span>. Вы напрямую не взаимодкйствуете с <code>AbstractWorker</code>, как и с абстрактным классом.</div> + +<h2 id="Свойства">Свойства</h2> + +<p><em>Интерфейс <code>AbstractWorker</code></em><em> не наследует никаких свойств</em></p> + +<h3 id="Обработчики_событий">Обработчики событий</h3> + +<dl> + <dt>{{domxref("AbstractWorker.onerror")}}</dt> + <dd>{{ domxref("EventListener") }}, который вызывается каждый раз, когда {{domxref("ErrorEvent")}} с типом <code>error</code> всплывает через воркер.</dd> +</dl> + +<h2 id="Методы">Методы</h2> + +<p><em>Интерфейс <code>AbstractWorker</code></em><em> не наследует и не реализует никаких свойств</em></p> + +<h2 id="Пример">Пример</h2> + +<p>Прямого использования <code>AbstractWorker</code> не будет в коде, так как это абстрактный интерфейс. Вместо этого, взаимодействие будет происходить либо с {{domxref("Worker")}}, либо с {{domxref("SharedWorker")}}, оба из которых наследуют свойства от <code>AbstractWorker</code>.</p> + +<p>Ниже фрагмент кода, который демонстрирует создание нового <code>Worker</code> с помощью конструктора {{domxref("Worker.Worker", "Worker()")}}; ещё здесь показан способ как послать сообщению воркеру.</p> + +<pre class="brush: js">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>. В данном коде предполагается, что есть элемент {{HTMLElement("input")}}, его определяет переменная <code>first</code>. Для события {{domxref("change")}} элемента создается обработчик, поэтому когда пользователь изменяет значение для <code>first</code>, отправляется сообщение в воркер для уведомления его об данных изменениях.</p> + +<p>Вы можете найти больше примеров в репозитории MDN Web Docs на GitHub:</p> + +<ul> + <li><a class="external external-icon" href="https://github.com/mdn/simple-web-worker">Базовый пример для dedicated worker</a> (<a class="external external-icon" href="http://mdn.github.io/simple-web-worker/">запустить dedicated worker</a>).</li> + <li><a class="external external-icon" href="https://github.com/mdn/simple-shared-worker">Базовый пример для shared worker</a> (<a class="external external-icon" href="http://mdn.github.io/simple-shared-worker/">запустить shared worker</a>).</li> +</ul> + +<h2 id="Спецификации">Спецификации</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Комментарий</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("HTML WHATWG", "#abstractworker", "AbstractWorker")}}</td> + <td>{{Spec2("HTML WHATWG")}}</td> + <td>Без изменений {{SpecName("Web Workers")}}.</td> + </tr> + <tr> + <td>{{SpecName("Web Workers", "#the-abstractworker-abstract-interface", "AbstractWorker")}}</td> + <td>{{Spec2("Web Workers")}}</td> + <td>Начальное определение.</td> + </tr> + </tbody> +</table> + +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> + +<div> + + +<p>{{Compat("api.AbstractWorker")}}</p> +</div> + +<h2 id="Смотрите_также">Смотрите также</h2> + +<ul> + <li>Интерфейсы для {{domxref("Worker")}}, {{domxref("ServiceWorker")}}, и {{domxref("SharedWorker")}} , которые все основаны на <code>AbstractWorker</code>.</li> + <li><a href="/en-US/docs/Web/API/Web_Workers_API">Web Workers API</a></li> + <li><a href="/en-US/docs/Web/API/Web_Workers_API/Using_web_workers">Using Web Workers</a></li> +</ul> |