Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

JavaScript: Asynchrone Programmierung

Grundprinzipien von Generatoren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Generatoren sind Teil des ES6-Standard und bieten eine unkonventionelle Art, mit Funktionen umzugehen.

Transkript

Generatoren oder auch generators, sind ein Hilfskonstrukt, das mit dem JavaScript Standard AgmarScript 6, in die JavaScript Programmiersprache einzieht. Da sie auch im Konstrukt von asynchronem JavaScript weitläufig eingesetzt werden, beschäftigen wir uns innerhalb dieses Videos, mit den Generatoren als sogenannte Iteratoren über Funktionen. Was nun genau das bedeuten soll, werde ich Ihnen nun demonstrieren. In meinem Projekt beginne ich damit zunächst einmal npm zu initialisieren, mit dem Befehl npm init. Als nächstes lege ich nun die Datei 01_generators.js an. Als nächstes definiere ich eine Funktion, deren relativ einfache Aufgabe es ist, auf die Konsole, separat voneinander, Hello und World auszugeben. Vom Kontrollfluss her bedeutet das, beim Ausführen de Funktion, werde ich nun beide Ausgaben separat voneinander aber sofort starten. Markiere ich meine Funktion nun als sogenannten Generator, mit Hilfe des Sterns an dem Keyword function, so kann ich nun das Keyword yield innerhalb der Funktion verwenden. Yield stellt hier also einen Haltepunkt dar. Das heißt, meine Funktion verhält sich nun nicht mehr wie vorher, beim Ausführen passiert nun gar nichts mehr. Das liegt daran, dass die Funktion nicht mehr regulär ausgeführt wird, sondern einen sogenannten Iterator zurückgibt. Dies ist eine Variable, mit dem ich die einzelnen Zwischenschritte des Generator auslösen kann. Genau mache ich das mit Hilfe von iterator.next. In dem Fall wird also nun alles bis zum ersten Haltepunkt ausgeführt, in dem Fall also Hello. Bei einem weiteren Aufruf von iterator.next, wird nun die gesamte Funktion ausgefüht. Da es sich nun um einen Iterator handelt, also die Möglichkeit, über beispielsweise eine Liste zu iterieren, kann ich nun auch über diese Funktion iterieren. In dem Fall nutze ich also das Iterator Pattern, mit x of generator, und bekomme nun zweimal Hello World. Einmal aus dem regulären Abruf und einmal aus dem Iterator Pattern heraus. Mit Hilfe des yield Keywords, kann ich auch zusätzlich noch Werte ausgeben. Beispielsweise die Zahl 3. Wenn ich nun console.log auf iterator.next ausführe, so erhalte ich beim ersten Aufruf von iterator.next, den value 3. Zeitlich kann man sich das also so vorstellen, dass beim ersten Aufruf alles bis zu diesem Semicolon ausgeführt wird. Beim zweiten Aufruf von next, wird alles bis zum Ende der Funktion ausgeführt. Und da die Funktion dann entsprechend beendet wurde, wird die Funktion nun als done markiert. Wir haben uns einen kurzen Überblick über Generatoren oder Generators verschafft. Diese sind Teil des ES2015, oder auch ES6-Standards. Das yield-Keyword ist hier zentral um Werte an bestimmten Haltepunkten innerhalb einer Funktion auszugeben. Mit dem Aufruf von next und einer instanziierten Funktion, können wir diese Werte nun abrufen. Zusätzlich muss unsere Funktion noch mit der Syntax function* markiert werden, um als Generator anerkannt zu werden.

JavaScript: Asynchrone Programmierung

Lernen Sie Lösungen für die komplexe Anwendungsentwicklung kennen, um zeitaufwändige Ressourcenzugriife im Code zu vermeiden.

2 Std. 30 min (19 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:22.08.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!