⊗tlGpBsTA 5 of 14 menu

Užduočių asinchroniškumas Gulp

Jūs turėtumėte suprasti, kad visos Gulp užduotys - yra asinchroniškos. Ką tai reiškia, pažiūrėkime pavyzdžiu. Tarkime, viešosios užduoties viduje iškviečiamos dvi privačios:

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

Asinchroniškumas reiškia, kad užduotis task2 nelauks, kol baigsis vykdymas užduoties task1, o bus vykdoma lygiagrečiai su ja.

Apgalvokime tai praktiškesniu pavyzdžiu. Tarkime, pirmoji užduotis paverčia LESS į CSS, o antroji užduotis - minimizuoja gautą CSS.

Tokiu atveju mes susidursime su problema: juk negalima minimizuoti CSS failo prieš tai, kaip į jį pateks LESS kompiliavimo rezultatas!

Tačiau, jei užduotys būtų vykdomos sinchroniškai - nuosekliai viena po kitos, mes susidurtume su kita problema: užduotys, kurias galima vykdyti lygiagrečiai, būtų vykdomos viena po kitos, sulėtindamos Gulp veikimą. Apgalvokime tai taip pat pavyzdžiu.

Tarkime, pirmoji užduotis minimizuoja CSS failus, o antroji užduotis - minimizuoja JavaScript failus. Akivaizdu, kad šias dvi nesusijusias operacijas galima vykdyti vienu metu.

Laimei, Gulp suteikia įrankius, leidžiančius aiškiai nurodyti, kurios užduotys turi būti vykdomos lygiagrečiai, o kurios - nuosekliai. Šiuos įrankius išnagrinėsime kitoje pamokoje.

Sugalvokite pavyzdį dviejų užduočių, kurios turėtų būti vykdomos tik nuosekliai.

Sugalvokite pavyzdį dviejų užduočių, kurios turėtų būti vykdomos tik lygiagrečiai.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti