⊗tlGpBsTA 5 of 14 menu

Asynchronität von Tasks in Gulp

Sie sollten verstehen, dass alle Gulp-Tasks asynchron sind. Was das bedeutet, schauen wir uns an einem Beispiel an. Angenommen, innerhalb einer öffentlichen Task werden zwei private Tasks aufgerufen:

function taskD(cb) { task1(cb); task2(cb); cb(); }

Asynchronität bedeutet, dass der Task task2 nicht auf den Abschluss der Ausführung des Tasks task1 wartet, sondern parallel zu ihm ausgeführt wird.

Lassen Sie uns das an einem praktischeren Beispiel überlegen. Angenommen, der erste Task transformiert LESS in CSS, und der zweite Task minimiert die erhaltene CSS-Datei.

In diesem Fall werden wir auf ein Problem stoßen: schließlich kann die CSS-Datei nicht minimiert werden, bevor das Ergebnis der LESS-Kompilierung in sie eingeflossen ist!

Wenn die Tasks jedoch synchron - nacheinander - ausgeführt würden, würden wir auf ein anderes Problem stoßen: Tasks, die parallel ausgeführt werden könnten, würden nacheinander ausgeführt, was die Arbeit von Gulp verlangsamen würde. Lassen Sie uns auch dies an einem Beispiel überlegen.

Angenommen, der erste Task minimiert CSS-Dateien, und der zweite Task minimiert JavaScript Dateien. Offensichtlich können diese beiden unabhängigen Operationen gleichzeitig ausgeführt werden.

Glücklicherweise bietet Gulp Werkzeuge an, die es erlauben, explizit anzugeben, welche Tasks parallel und welche - sequentiell ausgeführt werden sollen. Diese Werkzeuge werden wir in der nächsten Lektion behandeln.

Überlegen Sie sich ein Beispiel für zwei Tasks, die nur sequentiell ausgeführt werden sollten.

Überlegen Sie sich ein Beispiel für zwei Tasks, die nur parallel ausgeführt werden sollten.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen