Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Worker
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
* Some parts of this feature may have varying levels of support.
Hinweis: Diese Funktion ist inWeb Workers verfügbar, mit Ausnahme vonService Workers.
DasWorker-Interface derWeb Workers API repräsentiert eine Hintergrundaufgabe, die über ein Skript erstellt werden kann und Nachrichten an ihren Ersteller zurücksenden kann.
Ein Worker wird erstellt, indem derWorker("path/to/worker/script")-Konstruktor aufgerufen wird.
Worker können selbst neue Worker erzeugen, solange diese Worker unter demselbenUrsprung wie die übergeordnete Seite gehostet werden.
Beachten Sie, dass nicht alle Schnittstellen und Funktionen für Web Worker verfügbar sind. Details finden Sie unterFunktionen und Klassen, die in Web Workern verfügbar sind.
In diesem Artikel
Konstruktoren
Instanzeigenschaften
Erbt Eigenschaften von seinem Elternteil,EventTarget.
Instanzmethoden
Erbt Methoden von seinem Elternteil,EventTarget.
Worker.postMessage()Sendet eine Nachricht — bestehend aus einem beliebigen JavaScript-Objekt — an den inneren Bereich des Workers.
Worker.terminate()Beendet den Worker sofort. Dies lässt den Worker seine Operationen nicht beenden; er wird sofort gestoppt.
ServiceWorker-Instanzen unterstützen diese Methode nicht.
Ereignisse
errorWird ausgelöst, wenn ein Fehler im Worker auftritt.
messageWird ausgelöst, wenn das übergeordnete Element des Workers eine Nachricht von diesem Worker erhält.
messageerrorWird ausgelöst, wenn ein
Worker-Objekt eine Nachricht erhält, die nichtdeserialisiert werden kann.
Beispiel
Der folgende Code-Schnipsel erstellt einWorker-Objekt unter Verwendung desWorker()-Konstruktors und verwendet dann das Worker-Objekt:
const myWorker = new Worker("/worker.js");const first = document.querySelector("input#number1");const second = document.querySelector("input#number2");first.onchange = () => { myWorker.postMessage([first.value, second.value]); console.log("Message posted to worker");};Für ein vollständiges Beispiel, siehe unserGrundlegendes dediziertes Worker-Beispiel (dedizierten Worker ausführen).
Spezifikationen
| Specification |
|---|
| HTML> # dedicated-workers-and-the-worker-interface> |
Browser-Kompatibilität
Die Unterstützung variiert für verschiedene Arten von Workern. Siehe die Seite des jeweiligen Worker-Typs für spezifische Informationen.
Fehlerverhalten bei Cross-Origin-Workern
In frühen Versionen der Spezifikation löste das Laden eines Cross-Origin-Worker-Skripts einenSecurityError aus. Heutzutage wird stattdessen einerror-Ereignis ausgelöst.
Siehe auch
- Verwendung von Web Workern
- Funktionen und Klassen, die in Web Workern verfügbar sind
- Andere Arten von Workern:
SharedWorkerundService Worker. OffscreenCanvas-Interface