⊗tlGpBsTA 5 of 14 menu

Asynchroniczność zadań w Gulp

Należy rozumieć, że wszystkie zadania Gulp - są asynchroniczne. Co to oznacza, spójrzmy na przykład. Załóżmy, że wewnątrz zadania publicznego wywoływane są dwa zadania prywatne:

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

Asynchroniczność oznacza, że zadanie task2 nie będzie czekało na zakończenie wykonania zadania task1, a będzie wykonywane równolegle z nim.

Przeanalizujmy to na bardziej praktycznym przykładzie. Niech pierwsze zadanie przekształca LESS na CSS, a drugie zadanie - minimalizuje otrzymany CSS.

W takim przypadku napotkamy problem: przecież nie można zminimalizować pliku CSS zanim trafi do niego wynik kompilacji LESS!

Jednakże, gdyby zadania wykonywały się synchronicznie - sekwencyjnie jedno za drugim, napotkalibyśmy inny problem: zadania, które można wykonać równolegle, wykonywałyby się jedno za drugim, spowalniając pracę Gulp. Przeanalizujmy to również na przykładzie.

Niech pierwsze zadanie minimalizuje pliki CSS, a drugie zadanie - minimalizuje pliki JavaScript. Oczywiste jest, że te dwie niezwiązane operacje można wykonywać jednocześnie.

Na szczęście Gulp dostarcza narzędzia, pozwalające wyraźnie wskazać, które zadania mają być wykonane równolegle, a które - sekwencyjnie. Te narzędzia przeanalizujemy w następnej lekcji.

Wymyśl przykład dwóch zadań, które powinny wykonywać się tylko sekwencyjnie.

Wymyśl przykład dwóch zadań, które powinny wykonywać się tylko równolegle.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć