⊗tlGpBsTA 5 of 14 menu

Асинхронност на задачите в Gulp

Трябва да разбирате, че всички задачи в Gulp - са асинхронни. Какво означава това, нека да видим с пример. Нека във вътрешна публична задача да се извикват две приватни:

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

Асинхронността означава, че задачата task2 няма да изчаква приключването на изпълнението на задачата task1, а ще се изпълнява паралелно с нея.

Нека да обмислим това с по-практичен пример. Нека първата задача преобразува LESS в CSS, а втората задача - минимизира получения CSS.

В такъв случай ще се сблъскаме с проблем: все пак не може да се минимизира CSS файл преди в него да е попаднал резултатът от компилацията на LESS!

Въпреки това, ако задачите се изпълняваха синхронно - последователно една след друга, ще се сблъскаме с друг проблем: задачи, които могат да бъдат изпълнени паралелно, ще се изпълняват една след друга, забавяйки работата на Gulp. Нека също да обмислим това с пример.

Нека първата задача минимизира CSS файлове, а втората задача - минимизира JavaScript файлове. Очевидно е, че тези две несвързани операции могат да се изпълняват едновременно.

За щастие, Gulp предоставя инструменти, позволяващи изрично да се укаже кои задачи трябва да бъдат изпълнени паралелно, а кои - последователно. Тези инструменти ще разгледаме в следващия урок.

Измислете пример за две задачи, които трябва да се изпълняват само последователно.

Измислете пример за две задачи, които трябва да се изпълняват само паралелно.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне