JavaScript-Parallelität

Feb 20 2023
Unter Parallelität versteht man die Fähigkeit eines Programms, mehrere Aufgaben gleichzeitig auszuführen. In JavaScript kann Parallelität durch verschiedene Mechanismen erreicht werden, z. B. Web Worker, Async/Await und Promises.

Unter Parallelität versteht man die Fähigkeit eines Programms, mehrere Aufgaben gleichzeitig auszuführen. In JavaScript kann Parallelität durch verschiedene Mechanismen erreicht werden, z. B. Web Worker, Async/Await und Promises. In diesem Artikel werden wir diese Mechanismen untersuchen und ihre Vorteile und Grenzen diskutieren.

  1. Web Worker Web Worker sind ein Mechanismus, der die Ausführung von JavaScript-Code in einem separaten Thread ermöglicht. Web Worker sind nützlich, wenn wir CPU-intensive Aufgaben ausführen möchten, ohne den Hauptthread zu blockieren. Beispielsweise können wir einen Web-Worker verwenden, um eine komplexe Berechnung durchzuführen, ohne dass die Benutzeroberfläche einfriert.

Hier ist ein Beispiel:

// main.js
const worker = new Worker('worker.js');
worker.postMessage('Hello from main.js');
worker.onmessage = (event) => {
  console.log('Received message from worker:', event.data);
};

// worker.js
self.onmessage = (event) => {
  console.log('Received message from main.js:', event.data);
  self.postMessage('Hello from worker.js');
};

Hier ist ein Beispiel:

async function getData() {
  const response = await fetch('https://example.com/data.json');
  const data = await response.json();
  return data;
}

Hier ist ein Beispiel:

fetch('https://example.com/data.json')
  .then((response) => response.json())
  .then((data) => console.log(data))
  .catch((error) => console.error(error));