Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:modul:m307:learningunits:lu01:02 [2025/12/09 12:16] – ↷ Seitename wurde von de:modul:m307:learningunits:lu01:02 auf de:modul:m307:learningunits:lu01:03 geändert vdemirde:modul:m307:learningunits:lu01:02 [2026/01/29 07:38] (aktuell) – alte Version wiederhergestellt (2025/12/09 12:53) vdemir
Zeile 1: Zeile 1:
 +====== LU01b - Synchrone VS Asynchrone Verarbeitung ======
  
 +Grundsätzlich gibt es zwei Varianten in JS, wie Daten eingelesen werden können: 
 +
 +  * Synchron
 +  * Asychron
 +
 +Beim synchronen Einlesen wartet JavaScript, bis die Datei komplett gelesen wurde – und macht in der Zeit gar nichts anderes. Beim asynchronen Einlesen liest Node.js die Datei im Hintergrund ein und kann waehrenddessen weiterarbeiten. Das eine blockiert, das andere nicht.
 +
 +{{:de:modul:m307:learningunits:lu01:synchronous-asynchronous.jpg?600|}}
 +===== Vergleich Sync VS Async =====
 +
 +Die nachfolgende Tabelle zeigt die wesentlichen Unterschiede
 +
 +^Art ^Verhalten ^Vorteil ^Nachteil ^
 +| **synchron (`readFileSync`)** | Programm pausiert, bis Datei fertig eingelesen ist        | einfach, gut fuers schnelle Rumprobieren       | blockiert den gesamten Ablauf – bei grossen Dateien oder vielen Zugriffen fatal |
 +| **asynchron (`readFile`)**    | Datei wird im Hintergrund gelesen, Code kann weiterlaufen | performant, ideal fuer Server/mehrere Zugriffe | Rueckgabewert kommt erst spaeter per Callback/Promise                           |
 +
 +**Beispiel für Synchrones Einlesen**
 +
 +  const fs = require("fs");
 +  const daten = fs.readFileSync("data.json", "utf8");
 +  console.log("Weiter gehts erst, wenn das oben fertig ist.");
 +
 +**Beispiel für Asynchrones Einlesen**
 +
 +  const fs = require("fs");
 +  fs.readFile("data.json", "utf8", (err, daten) => {
 +      console.log("Ich komme spaeter – Datei ist jetzt fertig eingelesen.");
 +  });
 +  console.log("Dieser Text erscheint direkt danach – ohne warten.");
 +
 +===== Lernvideo =====
 +|Lernvideo - 5': What is asynchronous javascript-code?|{{:de:modul:m307:learningunits:lu01:what_is_asynchronous_javascript_code.mp4|}}|
 +|Lernvideo - 8': Asynchronous Vs Synchronous Programming|{{:de:modul:m307:learningunits:lu01:asynchronous_vs_synchronous_programming.mp4|}}|
 +
 +----
 +[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Volkan Demir